KR20170099154A - Method and server for registering stockholder's list, recording transfer of stock ownership and verifying the registered stockholder's list file - Google Patents
Method and server for registering stockholder's list, recording transfer of stock ownership and verifying the registered stockholder's list file Download PDFInfo
- Publication number
- KR20170099154A KR20170099154A KR1020160021166A KR20160021166A KR20170099154A KR 20170099154 A KR20170099154 A KR 20170099154A KR 1020160021166 A KR1020160021166 A KR 1020160021166A KR 20160021166 A KR20160021166 A KR 20160021166A KR 20170099154 A KR20170099154 A KR 20170099154A
- Authority
- KR
- South Korea
- Prior art keywords
- hash value
- server
- private key
- shareholder
- value
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000012546 transfer Methods 0.000 title claims description 55
- 238000012545 processing Methods 0.000 claims abstract description 39
- 238000012795 verification Methods 0.000 claims description 45
- 238000004891 communication Methods 0.000 claims description 19
- 238000012790 confirmation Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 description 16
- 230000006870 function Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 6
- 230000004044 response Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 235000002595 Solanum tuberosum Nutrition 0.000 description 1
- 244000061456 Solanum tuberosum Species 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- G06F17/30097—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/36—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
- G06Q20/363—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes with the personal data of a user
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0637—Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Theoretical Computer Science (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Computing Systems (AREA)
- Power Engineering (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
본 발명의 일 태양에 따르면, 주주명부를 등록하는 방법에 있어서, (a) 서버가 주주명부 파일을 획득하거나 상기 주주명부 파일의 message digest를 획득하거나 획득하도록 지원하는 단계, (b) 소정의 조건이 만족되면, 상기 서버가, 특정 해쉬값 - 상기 특정 해쉬값은, (i) 상기 특정 회사의 private key 및 상기 서버의 private key로 서명된 상기 주주명부 파일의 해쉬값, (ii) 상기 서버의 private key로 서명된 상기 주주명부 파일의 해쉬값, (iii) 상기 특정 회사의 private key 및 상기 서버의 private key로 인코딩된 상기 message digest의 해쉬값 및 (iv) 상기 서버의 private key로 인코딩된 상기 message digest의 해쉬값 중 어느 하나임 - 및 상기 특정 해쉬값과 매칭되는 적어도 하나의 이웃 해쉬값을 연산함으로써 생성되는 대표 해쉬값 또는 상기 대표 해쉬값을 가공한 값을 데이터베이스에 등록하거나 등록하도록 지원하는 단계를 포함하는 방법이 제공된다.According to one aspect of the present invention, there is provided a method of registering a shareholder list, comprising the steps of: (a) supporting a server to obtain a shareholder file or to acquire or acquire a message digest of the shareholder file; (b) (I) a hash value of the private key of the specific company and the private key of the server signed by the private key of the server, (ii) a hash value of the private key of the server, (iii) a hash value of the message digest encoded by the private key of the specific company and the private key of the server, and (iv) a hash value of the private key of the server, and a value obtained by processing the representative hash value or the representative hash value generated by calculating at least one neighboring hash value matching the specific hash value, A method of registering or comprising support to register are provided to.
Description
본 발명은, 주주명부를 등록하고 주식 소유권 이전을 기록하고 등록된 주주명부 파일을 검증하는 방법 및 서버에 관한 것으로, 좀더 상세하게는, (A) 주주명부 파일을 획득하거나 상기 주주명부 파일의 message digest를 획득하거나 획득하도록 지원하고, 소정의 조건이 만족되면, 특정 해쉬값 - 상기 특정 해쉬값은, (i) 특정 회사의 private key 및 서버의 private key로 서명된 상기 주주명부 파일의 해쉬값, (ii) 상기 서버의 private key로 서명된 상기 주주명부 파일의 해쉬값, (iii) 상기 특정 회사의 private key 및 상기 서버의 private key로 인코딩된 상기 message digest의 해쉬값 및 (iv) 상기 서버의 private key로 인코딩된 상기 message digest의 해쉬값 중 어느 하나임 - 및 상기 특정 해쉬값과 매칭되는 적어도 하나의 이웃 해쉬값을 연산함으로써 생성되는 대표 해쉬값 또는 상기 대표 해쉬값을 가공한 값을 데이터베이스에 등록하거나 등록하도록 지원하는 “주주명부 등록 프로세스”를 수행하고, (B) 1 사용자와 제2 사용자 간에 특정 회사의 주식 소유권에 대한 이전 거래 내역이 반영된 주주명부 파일을 획득하거나 상기 주주명부 파일의 message digest를 획득하거나 획득하도록 지원하고, 소정의 조건이 만족되면, 상기 특정 해쉬값 및 상기 특정 해쉬값과 매칭되는 적어도 하나의 이웃 해쉬값을 연산함으로써 생성되는 대표 해쉬값 또는 상기 대표 해쉬값을 가공한 값을 데이터베이스에 등록하거나 등록하도록 지원하는 “주식 소유권 이전 기록 프로세스”를 수행하고, 상기 특정 해쉬값을 제1 특정 해쉬값이라 하고, 상기 대표 해쉬값을 제1 대표 해쉬값이라 할때, 상기 주주명부 파일과 관련된 검증 요청이 획득되면, 상기 검증 요청에 포함된 입력 데이터를 사용하여 생성된 제2 대표 해쉬값 또는 상기 제2 대표 해쉬값을 가공한 값이 상기 데이터베이스에 등록된 상기 제1 대표 해쉬값 또는 상기 제1 대표 해쉬값을 가공한 값과 대응되면, 상기 주주명부 파일과 관련된 검증이 이루어진 것으로 판단하거나 판단하도록 지원하는 “검증 프로세스”를 수행하는, 주주명부를 등록하고 주식 소유권 이전을 기록하고 등록된 주주명부 파일을 검증하는 방법 및 서버에 관한 것이다.The present invention relates to a method and server for registering a shareholder list, recording stock ownership transfer, and verifying a registered shareholder list file, and more particularly, to a method and server for obtaining a shareholder list file, (i) a hash value of the shareholder list file signed with the private key of the specific company and the private key of the server, and (ii) (ii) a hash value of the shareholder list file signed with the private key of the server, (iii) a private key of the specific company and a hash value of the message digest encoded with the private key of the server, and (iv) a hash value of the message digest encoded with a private key, and a representative hash value generated by computing at least one neighbor hash value matching the specific hash value, A shareholder list registration process in which a value obtained by processing the table hash value is registered or registered in the database is executed, and (B) a shareholder list reflecting the transfer history of the stock ownership of a specific company between one user and the second user Generating a hash value and a message digest of the shareholder file; and if the predetermined condition is satisfied, generating a hash value and at least one neighbor hash value matching the specific hash value, Quot; ownership transfer history recording process " for registering or registering a hash value or a value obtained by processing the representative hash value in a database, and the specific hash value is referred to as a first specific hash value, 1 representative hash value, if a verification request related to the shareholder list file is obtained, A value obtained by processing the second representative hash value or the second representative hash value generated using the input data included in the database is a value obtained by processing the first representative hash value or the first representative hash value registered in the database A step of registering the shareholder list, recording the stock ownership transfer and verifying the registered shareholder list file, and performing a " verification process " to determine whether or not the shareholder list file has been verified .
비상장 주식이란, 증권 거래소에 상장되지 않은 주식을 의미한다. 비상장 주식은 상장되어 있지 않기 때문에 거래가 장외에서 이루어지는데, 통상적으로 비상장 주식시장 또는 프리보드 시장에서 거래가 이루어지고 있다. Unlisted stocks are stocks that are not listed on the stock exchange. Because unlisted stocks are not traded, trades are traded off-site, typically trading in the unlisted stock market or freeboard market.
이처럼 종래에는 비상장 주식 거래가 온라인 네트워크를 통해서 이루어지지 않아 비상장 주식 거래에 있어서 불편함이 있었다. 이에 따라 온라인상에서 거래 내역의 변조가 불가능한 실시간 비상장 주식 거래 지원 플랫폼 또한 제공된 바가 없었다. As such, there has been an inconvenience in unlisted stock trading since the unlisted stock trading has not been conducted through an online network. Accordingly, there has been no provision of a real-time unlisted stock trading platform capable of modifying transaction details online.
이에 발명자는, 가상 화폐의 블록체인에 주주명부와 주식 소유권 이전 정보를 기록하여 거래 내역의 위/변조가 불가능하고 공간적 제약이 없이 실시간으로 주주명부 등록 또는 주식 소유권 이전을 지원할 수 있는 비상장 주식 거래 지원 플랫폼을 개발하기에 이르렀다. Accordingly, the inventor records the shareholder list and the stock ownership transfer information in the block chain of virtual money, thereby enabling unauthorized trading of stocks, which can not deal with the transaction details and can transfer real-time stock list registration or stock ownership transfer without space limitation Platform to develop.
그런데, 이 경우 매 파일마다 OP 메시지를 생성하여 블록체인에 기록하므로 transaction 요청이 많아졌을 때, 서비스 제공의 bottle neck 현상이 발생될 수 있고, 매번 transaction fee를 지불해야 하므로 서비스 운영에 많은 비용이 들 수 있는 우려가 있다. However, in this case, since an OP message is generated for each file and is recorded in the block chain, a bottleneck phenomenon of service provision may occur when a large number of transaction requests occur, and a transaction fee is required to be paid each time There is a concern.
이에 발명자는 위/변조가 불가능하고 실시간으로 주주명부 등록 또는 주식 소유권 이전을 지원할 수 있는 장점을 살리면서도 상기와 같은 단점을 보완하여 서비스 요청이 몰릴 경우에도 빠른 서비스 속도를 보장하고 비용도 절감할 수 있는 비상장 주식 거래 지원 시스템을 개발하였다.Accordingly, the inventor of the present invention has the advantage of being able to support the registration of the shareholder list or the transfer of the ownership of the stock in real time, which can not be stolen / altered, but also compensates for the above disadvantages, Developed an unlisted stock trading support system.
본 발명은 상술한 문제점들을 모두 해결하는 것을 그 목적으로 한다. SUMMARY OF THE INVENTION The present invention has been made to solve all the problems described above.
또한, 본 발명은 가상 화폐의 블록체인에 주주명부와 주식 소유권 이전 정보를 기록하여 위/변조가 불가능하고 공간적 제약이 없이 실시간으로 주주명부 등록 또는 주식 소유권 이전을 지원할 수 있는 비상장 주식 거래 지원 플랫폼을 제공하는 것을 다른 목적으로 한다. The present invention also provides an unlisted stock trading platform capable of recording shareholder roster and stock ownership transfer information in a block chain of virtual money and supporting real-time stock register registration or stock ownership transfer without any restriction on space / Provide for other purposes.
또한, 본 발명은 위와 같은 비상장 주식 거래 지원 플랫폼을 제공함에 있어, 빠른 서비스 속도를 보장하고 transaction 비용을 절감할 수 있는 것을 또 다른 목적으로 한다.It is another object of the present invention to provide a platform for supporting an unlisted stock trading as described above, which can guarantee a fast service speed and reduce a transaction cost.
또한, 본 발명은 모든 주주명부와 주식 소유권 이전 정보를 블록체인에 올리는 대신에 이를 이용하여 머클 트리를 구성하여 상기 구성된 머클 트리의 루트값만을 블록체인에 등록함으로써 서비스의 속도를 향상시키고 transaction 비용을 절감할 수 있는 것을 또 다른 목적으로 한다.In addition, according to the present invention, a merge tree is constructed by using all the shareholder list and stock ownership transfer information in a block chain instead of putting it in a block chain, so that only the root value of the configured merge tree is registered in the block chain, Another purpose is to save money.
또한, 본 발명은, 파일에 대한 검증 요청시 상기와 같이 생성된 머클 트리를 이용하여 검증을 수행함으로써 데이터베이스의 integrity를 좀더 보장할 수 있는 것을 또 다른 목적으로 한다.It is another object of the present invention to further guarantee the integrity of a database by performing verification using a merge tree generated as described above when requesting verification of a file.
상기 목적을 달성하기 위한 본 발명의 대표적인 구성은 다음과 같다.In order to accomplish the above object, a representative structure of the present invention is as follows.
본 발명의 일 태양에 따르면, 주주명부를 등록하는 방법에 있어서, (a) 서버가 주주명부 파일을 획득하거나 상기 주주명부 파일의 message digest를 획득하거나 획득하도록 지원하는 단계, (b) 소정의 조건이 만족되면, 상기 서버가, 특정 해쉬값 - 상기 특정 해쉬값은, (i) 상기 특정 회사의 private key 및 상기 서버의 private key로 서명된 상기 주주명부 파일의 해쉬값, (ii) 상기 서버의 private key로 서명된 상기 주주명부 파일의 해쉬값, (iii) 상기 특정 회사의 private key 및 상기 서버의 private key로 인코딩된 상기 message digest의 해쉬값 및 (iv) 상기 서버의 private key로 인코딩된 상기 message digest의 해쉬값 중 어느 하나임 - 및 상기 특정 해쉬값과 매칭되는 적어도 하나의 이웃 해쉬값을 연산함으로써 생성되는 대표 해쉬값 또는 상기 대표 해쉬값을 가공한 값을 데이터베이스에 등록하거나 등록하도록 지원하는 단계를 포함하는 방법이 제공된다. According to one aspect of the present invention, there is provided a method of registering a shareholder list, comprising the steps of: (a) supporting a server to obtain a shareholder file or to acquire or acquire a message digest of the shareholder file; (b) (I) a hash value of the private key of the specific company and the private key of the server signed by the private key of the server, (ii) a hash value of the private key of the server, (iii) a hash value of the message digest encoded by the private key of the specific company and the private key of the server, and (iv) a hash value of the private key of the server, and a value obtained by processing the representative hash value or the representative hash value generated by calculating at least one neighboring hash value matching the specific hash value, A method of registering or comprising support to register are provided to.
본 발명의 다른 태양에 따르면, 주식 소유권 이전을 기록하는 방법에 있어서, (a) 서버가, 제1 사용자와 제2 사용자 간에 특정 회사의 주식 소유권에 대한 이전 거래 내역이 반영된 주주명부 파일을 획득하거나 상기 주주명부 파일의 message digest를 획득하거나 획득하도록 지원하는 단계, (b) 소정의 조건이 만족되면, 상기 서버가, 특정 해쉬값 - 상기 특정 해쉬값은, (i) 상기 특정 회사의 private key 및 상기 서버의 private key로 서명된 상기 주주명부 파일의 해쉬값, (ii) 상기 서버의 private key로 서명된 상기 주주명부 파일의 해쉬값, (iii) 상기 특정 회사의 private key 및 상기 서버의 private key로 인코딩된 상기 message digest의 해쉬값 및 (iv) 상기 서버의 private key로 인코딩된 상기 message digest의 해쉬값 중 어느 하나임 - 및 상기 특정 해쉬값과 매칭되는 적어도 하나의 이웃 해쉬값을 연산함으로써 생성되는 대표 해쉬값 또는 상기 대표 해쉬값을 가공한 값을 데이터베이스에 등록하거나 등록하도록 지원하는 단계를 포함하는 방법이 제공된다. According to another aspect of the present invention, there is provided a method for recording a stock ownership transfer, comprising the steps of: (a) obtaining a shareholder file reflecting a previous transaction history of a stock ownership of a specific company between a first user and a second user (B) if the predetermined condition is satisfied, the server determines whether a particular hash value - the particular hash value - is obtained by (i) obtaining a private key of the particular company and (Ii) a hash value of the shareholder list file signed with the private key of the server, (iii) a private key of the specific company, and a private key of the server And (iv) a hash value of the message digest encoded with the private key of the server, and at least one of the hash values matching the particular hash value Representative generated by calculating the hash value, a method is provided including the hash value or the step of support to register and register values processed by the hash value representative of the database.
본 발명의 또 다른 태양에 따르면, 등록된 주주명부 파일을 검증하는 방법에 있어서, (a) 기존에 서버가 특정 회사의 주주명부 파일을 획득하거나 상기 주주명부 파일의 message digest를 획득하여, 제1 특정 해쉬값 - 상기 제1 특정 해쉬값은, (i) 상기 특정 회사의 private key 및 상기 서버의 private key로 서명된 상기 주주명부 파일의 해쉬값, (ii) 상기 서버의 private key로 서명된 상기 주주명부 파일의 해쉬값, (iii) 상기 특정 회사의 private key 및 상기 서버의 private key로 인코딩된 상기 message digest의 해쉬값 및 (iv) 상기 서버의 private key로 인코딩된 상기 message digest의 해쉬값 중 어느 하나임 - 과 소정의 조건 하에서 매칭되는 적어도 하나의 이웃 해쉬값을 연산함으로써 생성되는 제1 대표 해쉬값 또는 상기 제1 대표 해쉬값을 가공한 값을 데이터베이스에 등록하고 있는 상태에서, 상기 서버가, 상기 주주명부 파일과 관련된 검증 요청을 획득하는 단계, 및 (b) 상기 검증 요청에 포함된 입력 데이터를 사용하여 생성된 제2 대표 해쉬값 또는 상기 제2 대표 해쉬값을 가공한 값이 상기 데이터베이스에 등록된 상기 제1 대표 해쉬값 또는 상기 제1 대표 해쉬값을 가공한 값과 대응되면, 상기 서버가, 상기 주주명부 파일과 관련된 검증이 이루어진 것으로 판단하거나 판단하도록 지원하는 단계를 포함하는 방법이 제공된다. According to another aspect of the present invention, there is provided a method of verifying a registered shareholder file, comprising the steps of: (a) previously obtaining a shareholder file of a specific company or obtaining a message digest of the shareholder file; A specific hash value, the first specific hash value being a hash value of (i) the private key of the particular company and the shareholder list file signed with the private key of the server, (ii) (Iii) a hash value of the message digest encoded by the private key of the specific company and the private key of the server, and (iv) a hash value of the message digest encoded by the private key of the server, A first representative hash value or a value obtained by processing the first representative hash value, which is generated by calculating at least one neighboring hash value matched with a predetermined one (B) obtaining a second representative hash value or a second representative hash value generated using the input data included in the verification request, If the processed value corresponds to a value obtained by processing the first representative hash value or the first representative hash value registered in the database, the server supports to determine or determine that the verification related to the shareholder list file has been performed The method comprising the steps of:
본 발명의 또 다른 태양에 따르면, 주주명부를 등록하는 서버에 있어서, 서버가 주주명부 파일을 획득하거나 상기 주주명부 파일의 message digest를 획득하는 통신부, 및 상기 주주명부 파일이 획득되거나 상기 주주명부 파일의 message digest가 획득되고 소정의 조건이 만족되면, 특정 해쉬값 - 상기 특정 해쉬값은, (i) 상기 특정 회사의 private key 및 상기 서버의 private key로 서명된 상기 주주명부 파일의 해쉬값, (ii) 상기 서버의 private key로 서명된 상기 주주명부 파일의 해쉬값, (iii) 상기 특정 회사의 private key 및 상기 서버의 private key로 인코딩된 상기 message digest의 해쉬값 및 (iv) 상기 서버의 private key로 인코딩된 상기 message digest의 해쉬값 중 어느 하나임 - 및 상기 특정 해쉬값과 매칭되는 적어도 하나의 이웃 해쉬값을 연산함으로써 생성되는 대표 해쉬값 또는 상기 대표 해쉬값을 가공한 값을 데이터베이스에 등록하거나 등록하도록 지원하는 프로세서를 포함하는 서버가 제공된다. According to still another aspect of the present invention, there is provided a server for registering a shareholder list, comprising: a communication section in which a server obtains a shareholder file or acquires a message digest of the shareholder file; (I) a hash value of the private key of the specific company and the private key of the server signed by the private key of the server, and (iii) if the message digest of the private key of the server is obtained and the predetermined condition is satisfied, (ii) the hash value of the shareholder list file signed with the private key of the server, (iii) the private key of the specific company and the hash value of the message digest encoded with the private key of the server, and (iv) and a hash value of the message digest encoded with a key, and a representative hash value generated by computing at least one neighbor hash value matching the specific hash value. The server including a processor that supports the registration or registering with the representative value by processing the hash values in the database is provided.
본 발명의 또 다른 태양에 따르면, 주식 소유권 이전을 기록하는 서버에 있어서, 제1 사용자와 제2 사용자 간에 특정 회사의 주식 소유권에 대한 이전 거래 내역이 반영된 주주명부 파일을 획득하거나 상기 주주명부 파일의 message digest를 획득하는 통신부, 및 상기 주주명부 파일이 획득되거나 상기 주주명부 파일의 message digest가 획득되고 소정의 조건이 만족되면, 특정 해쉬값 - 상기 특정 해쉬값은, (i) 상기 특정 회사의 private key 및 상기 서버의 private key로 서명된 상기 주주명부 파일의 해쉬값, (ii) 상기 서버의 private key로 서명된 상기 주주명부 파일의 해쉬값, (iii) 상기 특정 회사의 private key 및 상기 서버의 private key로 인코딩된 상기 message digest의 해쉬값 및 (iv) 상기 서버의 private key로 인코딩된 상기 message digest의 해쉬값 중 어느 하나임 - 및 상기 특정 해쉬값과 매칭되는 적어도 하나의 이웃 해쉬값을 연산함으로써 생성되는 대표 해쉬값 또는 상기 대표 해쉬값을 가공한 값을 데이터베이스에 등록하거나 등록하도록 지원하는 프로세서를 포함하는 서버가 제공된다. According to still another aspect of the present invention, there is provided a server for recording a stock ownership transfer, comprising: a server for acquiring a stockholder list file reflecting a previous transaction history of a stock ownership of a specific company between a first user and a second user, message digest, and a message digest of the particular company is obtained if the shareholder file is obtained or a message digest of the shareholder file is obtained and a predetermined condition is satisfied, key and a hash value of the shareholder list file signed with the private key of the server, (ii) a hash value of the shareholder list file signed with the private key of the server, (iii) a private key of the specific company, a hash value of the message digest encoded with a private key, and (iv) a hash value of the message digest encoded with a private key of the server. The server that contains the swigap and matching at least one representative of the hash that is generated by calculating the hash value or neighborhood processors that support to register and register values processed by the hash value representative of the database is provided.
본 발명의 또 다른 태양에 따르면, 등록된 주주명부 파일을 검증하는 서버에 있어서, 등록된 주주명부 파일과 관련된 검증 요청을 획득하는 통신부, 및 기존에 상기 서버가 특정 회사의 주주명부 파일을 획득하거나 상기 주주명부 파일의 message digest를 획득하여, 제1 특정 해쉬값 - 상기 제1 특정 해쉬값은, (i) 상기 특정 회사의 private key 및 상기 서버의 private key로 서명된 상기 주주명부 파일의 해쉬값, (ii) 상기 서버의 private key로 서명된 상기 주주명부 파일의 해쉬값, (iii) 상기 특정 회사의 private key 및 상기 서버의 private key로 인코딩된 상기 message digest의 해쉬값 및 (iv) 상기 서버의 private key로 인코딩된 상기 message digest의 해쉬값 중 어느 하나임 - 과 소정의 조건 하에서 매칭되는 적어도 하나의 이웃 해쉬값을 연산함으로써 생성되는 제1 대표 해쉬값 또는 상기 제1 대표 해쉬값을 가공한 값을 데이터베이스에 등록하고 있는 상태에서, 상기 주주명부 파일과 관련된 검증 요청이 획득하고, 상기 검증 요청에 포함된 입력 데이터를 사용하여 생성된 제2 대표 해쉬값 또는 상기 제2 대표 해쉬값을 가공한 값이 상기 데이터베이스에 등록된 상기 제1 대표 해쉬값 또는 상기 제1 대표 해쉬값을 가공한 값과 대응되면, 상기 주주명부 파일과 관련된 검증이 이루어진 것으로 판단하거나 판단하도록 지원하는 프로세서를 포함하는 서버가 제공된다. According to another aspect of the present invention, there is provided a server for verifying a registered shareholder file, comprising: a communication unit for obtaining a verification request related to a registered shareholder file; and a server for acquiring a shareholder list file (I) obtaining a hash value of the shareholder list file signed by the private key of the specific company and the private key of the server by obtaining a message digest of the shareholder list file, (ii) a hash value of the shareholder list file signed with the private key of the server, (iii) a private key of the specific company and a hash value of the message digest encoded with the private key of the server, and (iv) A first representative hash value generated by computing at least one neighbor hash value that matches one of the hash values of the message digest encoded with the private key of the message digest, A second representative hash value generated using the input data included in the verification request, or a second representative hash value generated using the input data included in the verification request, in a state in which a value obtained by processing the first representative hash value is registered in the database, If the value obtained by processing the second representative hash value corresponds to a value obtained by processing the first representative hash value or the first representative hash value registered in the database, A server is provided that includes a processor to support the processor.
본 발명에 의하면, 다음과 같은 효과가 있다. The present invention has the following effects.
본 발명은 가상 화폐의 블록체인에 주주명부와 주식 소유권 이전 정보를 기록하여 위/변조가 불가능하고 공간적 제약이 없이 실시간으로 주주명부 등록 또는 주식 소유권 이전을 지원할 수 있는 효과가 있다. The present invention has the effect of recording shareholder roster and stock ownership transfer information in a block chain of virtual money, supporting real-time registration of shareholder register or stock ownership transfer in real time without imposing up / modification and space limitation.
또한, 본 발명은 위와 같은 비상장 주식 거래 지원 플랫폼을 제공함에 있어, 빠른 서비스 속도를 보장하고 transaction 비용을 절감할 수 있는 효과가 있다. In addition, the present invention provides a platform for supporting an unlisted stock trading as described above, thereby assuring a fast service speed and reducing transaction costs.
또한, 본 발명은 모든 주주명부와 주식 소유권 이전 정보를 블록체인에 올리는 대신에 이를 이용하여 머클 트리를 구성하여 상기 구성된 머클 트리의 루트값만을 블록체인에 등록함으로써 서비스의 속도를 향상시키고 transaction 비용을 절감할 수 있는 효과가 있다.In addition, according to the present invention, a merge tree is constructed by using all the shareholder list and stock ownership transfer information in a block chain instead of putting it in a block chain, so that only the root value of the configured merge tree is registered in the block chain, There is an effect that can be saved.
또한, 본 발명은, 파일에 대한 검증 요청시 상기와 같이 생성된 머클 트리를 이용하여 검증을 수행함으로써 데이터베이스의 integrity를 좀더 보장할 수 있는 효과가 있다. In addition, the present invention is advantageous in that the integrity of a database can be further guaranteed by performing verification using a merge tree generated as described above when a verification request for a file is requested.
도 1은 본 발명의 일 실시예에 따른 주주명부를 등록하고 주식 소유권 이전을 기록하는 서버의 구성을 도시한 블록도이다.
도 2는 본 발명의 일 실시예에 따라 주주명부를 등록하는 과정을 도시한 시퀀스 다이어그램이다.
도 3 및 4는 본 발명의 일 실시예에 따라 생성된 머클 트리의 예를 도시한 도면이다.
도 5는 본 발명의 일 실시예에 따라 주식 소유권 이전을 기록하는 과정을 도시한 시퀀스 다이어그램이다.1 is a block diagram illustrating a configuration of a server for registering a stockholder list and recording stock ownership transfer according to an embodiment of the present invention.
FIG. 2 is a sequence diagram illustrating a process of registering a shareholder list according to an embodiment of the present invention.
FIGS. 3 and 4 are views showing examples of a merge tree generated according to an embodiment of the present invention.
FIG. 5 is a sequence diagram illustrating a process of recording stock ownership transfer according to an embodiment of the present invention.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.The following detailed description of the invention refers to the accompanying drawings, which illustrate, by way of illustration, specific embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention. It should be understood that the various embodiments of the present invention are different, but need not be mutually exclusive. For example, certain features, structures, and characteristics described herein may be implemented in other embodiments without departing from the spirit and scope of the invention in connection with an embodiment. It is also to be understood that the position or arrangement of the individual components within each disclosed embodiment may be varied without departing from the spirit and scope of the invention. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is to be limited only by the appended claims, along with the full scope of equivalents to which such claims are entitled, if properly explained. In the drawings, like reference numerals refer to the same or similar functions throughout the several views.
도 1은 본 발명의 일 실시예에 따른 주주명부를 등록하고 주식 소유권 이전을 기록하는 서버의 구성을 도시한 블록도이고, 도 2는 본 발명의 일 실시예에 따라 주주명부를 등록하는 과정을 도시한 시퀀스 다이어그램이다.FIG. 1 is a block diagram illustrating a configuration of a server for registering a shareholder list and recording a stock ownership transfer according to an embodiment of the present invention. FIG. 2 illustrates a process of registering a shareholder list according to an embodiment of the present invention. FIG.
각 실시예에 대한 설명에 앞서 본 명세서에서 사용되는 표현식을 다음과 같이 정의한다. ':' 의 왼쪽은 표현식을 나타내며 오른쪽은 표현식의 정의를 나타낸다.Prior to the description of each embodiment, the expression used in this specification is defined as follows. The left side of ':' indicates the expression, and the right side indicates the definition of the expression.
<표현식 정의><Expression definition>
PrivXPrivX : Private key of X: Private key of X
PubXPubX : Public key of X: Public key of X
AESXAESX : : AESAES secret key of X secret key of X
SigPrivXSigPrivX (Y): Output of (Y): Output of ECDSAECDSA or RSA signature of Y using or RSA signature of Y using PrivXPrivX
VerPubXVerPubX (Y): Output result of (Y): Output result of SigPrivXSigPrivX (Y) verification using (Y) verification using PubXPubX (True or False) (True or False)
EncEnc PrivXPrivX (Y): Output of (Y): Output of ECCECC or RSA encryption of Y using or RSA encryption of Y using PrivXPrivX
DecDec PubXPubX (Y): Output of (Y): Output of ECCECC or RSA decryption of Y using or RSA decryption of Y using PubXPubX
EncEnc AESXAESX (Y): Output of (Y): Output of AESAES encryption of Y using encryption of Y using AESXAESX
DecDec AESXAESX (Y): Output of (Y): Output of AESAES decryption of Y using decryption of Y using AESXAESX
Hash(Y): triple Hash (Y): triple sha256sha256 (Hash value of Y)(Hash value of Y)
SigECC256SigECC256 PrivXPrivX (Y): (Y): ECC256ECC256 Signature of Y using Signature of Y using PrivXPrivX
VerECC256VerECC256 PubXPubX (Y): (Y): ECC256ECC256 signature verification of Y using signature verification of Y using PubXPubX
우선, 주주명부를 등록하는 과정을 도 1 및 2를 참조로 하여 설명한다. 주주명부 등록은 최초 주식 발행 및 등록 시에도 이루어지나 이 밖에도 증자, 감자 시에나 주식 분할, 병합 시에도 이루어질 수 있다. First, the process of registering the shareholder list will be described with reference to Figs. 1 and 2. Fig. The registration of the shareholder list may be made at the time of issuance and registration of the initial stock, but also at the time of capital increase, potato stock split, merger.
도 1을 참조로 하면, 본 발명의 일 실시예에 따른 서버(100)는 통신부(110), 프로세서(120)를 포함한다. 각 실시예에서 설명되는 서버는 상이하게 구성될 수도 있을 것이나, 설명의 편의상 동일한 서버(100)를 통해 서비스가 이루어지는 것으로 설명한다.Referring to FIG. 1, a
통신부(110)는 주주명부 파일(File)을 획득하거나 상기 주주명부 파일의 message digest를 획득하는 구성이다. 도 2에 도시된 것처럼 주주명부 파일 등록 요청과 함께 주주명부 파일(File)이 획득되는 경우 특정 회사(300)의 public key(PubA)가 획득될 수 있다. 통신부(110)는, 이에 대한 응답을 할 수 있는데(S220), 요청(request)과 대응되는 응답(response)는 하나의 TCP 세션 동안 이루어질 수 있다. The
프로세서(120)는, 상기 주주명부 파일이 획득되면, hash 함수를 사용하여 상기 주주명부 파일의 message digest(MD=Hash(File))를 생성하거나 생성하도록 지원할 수 있다(S215). 여기서 hash 함수의 종류는 한정되지 않는다. 예를 들어, hash 함수는 triple sha256일 수 있다. 또한, 본 명세서에서 hash 함수는 일반적으로는 원본 파일을 변형시키기 위한 함수를 의미하지만, 극단적인 경우로서, 특정 파일에 대해 아무런 처리를 하지 않고 단순히 저장하는 함수를 포함할 수도 있다. 이 경우, hash 함수가 적용되어 생성된 message digest는 특정 파일과 동일할 수도 있을 것이다. The
상기 S220 단계에서 상기 주주명부 파일 등록 요청에 대한 응답으로 상기 생성된 message digest가 주주명부 파일 등록 요청을 한 특정 회사(300)에게 전달될 수 있다. 상기 특정 회사(300)가 단말(미도시)을 통해 주주명부 파일에 대한 등록 요청을 한 경우라면, 상기 단말로 상기 생성된 message digest가 전송될 수 있다. In step S220, the generated message digest may be transmitted to the
다음으로 통신부(110)는 상기 특정 회사(300)로부터 상기 특정 회사(300)의 private key(PrivA)로 서명된 message digest(SigPrivA(MD))를 획득할 수 있다(S225). 이 경우, S220 단계의 응답 후 TCP 세션이 끊어질 수 있으므로 특정 회사(300)로부터 message digest와 특정 회사(300)의 public key(PubA)도 수신될 수 있다. Next, the
또한, 프로세서(120)는 특정 회사(300)의 private key로 서명된 message digest가 획득되고, 상기 특정 회사(300)의 private key로 서명된 message digest에 대해 상기 특정 회사(300)의 public key를 사용하여 확인한 결과가 참인지 판단할 수 있다(S230).In addition, the
상기 확인 결과가 참이면(S230-2), 프로세서(120)는 (i) 상기 특정 회사(300)의 private key 및 서버(100)의 private key로 서명된 주주명부 파일의 해쉬값 또는 (ii) 상기 특정 회사(300)의 private key 및 상기 서버(100)의 private key로 인코딩된 상기 message digest의 해쉬값을 생성하거나 생성하도록 지원할 수 있다(S240). 그리고, 이렇게 생성된 해쉬값을 데이터베이스(200)에 등록하거나 등록하도록 지원할 수 있다(S250). 이처럼 해쉬값의 형태로 데이터베이스(200)에 등록하는 이유는 데이터베이스(200)의 저장 용량 제한 등으로 인해 데이터의 사이즈를 줄이기 위함이다. 여기서, 데이터베이스(200)는 가상 화폐의 블록체인일 수 있다. 예를 들어, 비트코인 블록체인일 수 있다.If the result of the check is true (S230-2), the
참고로, 본 명세서에서는 private key나 public key를 이용하여 File을 서명하는 표현식(SigPriv(File), SigPub(File))을 기준으로 설명을 하나 이는 private key나 public key를 이용하여 MD를 인코딩하는 표현식(EncPriv(MD), EncPub(MD))로 대체될 수 있다. In this specification, the expression (SigPriv (File), SigPub (File)) for signing a file using a private key or a public key is described based on an expression that encodes an MD using a private key or a public key (EncPriv (MD), EncPub (MD)).
계속해서 설명을 하면, 상기 확인 결과가 참이면, 프로세서(120)는, (i) 상기 특정 회사(300)의 private key, 상기 서버(100)의 private key 순으로 서명된 주주명부 파일의 해쉬값 또는 (ii) 상기 특정 회사(300)의 private key, 상기 서버(100)의 private key 순으로 인코딩된 상기 message digest의 해쉬값을 상기 데이터베이스(200)에 등록하거나 등록하도록 지원할 수 있다. 즉, 특정 회사(300)가 먼저 자신의 private key로 서명을 하고 서버(100)의 private key로 서명을 한 후 그 해쉬값을 데이터베이스(200)에 등록할 수 있는 것이다. 그러나, 서명의 순서는 이와 다르게 구현될 수도 있다. 특히, 특정 회사(300)와 서버(100) 간의 세션이 유지되는 경우라면 서버(100)가 먼저 서명을 하고 특정 회사(300)가 다음에 서명을 하도록 구현될 수도 있을 것이다. The
상기 해쉬값이 데이터베이스(200)에 등록되는 경우, 통신부(110)는 데이터베이스(200)로부터 상기 등록된 해쉬값의 상기 데이터베이스(200) 상의 위치 정보를 나타내는 transaction ID(TxID)를 획득할 수 있다(S255). When the hash value is registered in the
한편, 전술한 확인 결과가 거짓이면(S230-1), 프로세서(120)는 상기 특정 회사(300)에 주주명부 등록 실패를 통지할 수 있다(S260). On the other hand, if the above-described confirmation result is false (S230-1), the
또한, 프로세서(120)는 상기 확인 결과가 참이면, 상기 주주명부 파일을 저장하거나 저장하도록 지원할 수 있다(S245). 이때 주주명부 파일은 AES(Advanced Encryption Standard)와 같은 대칭키 암호 알고리즘으로 암호화될 수 있다. 이 경우 비밀키는 특정 회사(300)의 public key로부터 가공된 특정한 비밀키일 수 있으나 이에 한정되는 것은 아니다. 또한, 프로세서(120)는 상기 특정 회사(300)의 private key, 상기 서버(100)의 private key를 이용한 서명 정보를 주주명부 파일에 attach 시켜 저장할 수도 있다. In addition, the
프로세서(120)는 특정 회사(300)의 public key(PubA), 상기 주주명부 파일의 message digest(MD), 상기 특정 회사(300)의 private key로 서명된 주주명부 파일(SigPrivA(File)), 상기 획득된 transaction ID(TxID), 주주명부 파일(EncAESC(File))을 저장하거나 저장하도록 지원할 수 있다. 또한, 이 밖에도 상기 특정 회사(300)의 private key, 상기 서버(100)의 private key 순으로 서명된 주주명부 파일(SigPrivC(SigPrivA(File))) 및 이것의 해쉬값 중 적어도 일부를 더 저장하거나 저장하도록 지원할 수도 있다. The
위와 같이 주주명부가 데이터베이스(200)에 등록되면, 통신부(110)는 특정 회사(300)에게 주주명부 등록이 성공했음을 나타내는 응답을 전달할 수 있다(S260).When the shareholder list is registered in the
그런데, 전술한 실시예의 경우, 매 파일마다 OP 메시지를 생성하여 블록체인에 기록하므로 transaction 요청이 많아졌을 때, 서비스 제공의 bottle neck 현상이 발생될 수 있고, 매번 transaction fee를 지불해야 하므로 서비스 운영에 많은 비용이 들 수 있는 단점이 있다. However, in the above-described embodiment, when an OP message is generated for each file and is recorded in a block chain, a bottleneck phenomenon of service provision may occur when transaction requests are increased. There are disadvantages that can be costly.
이하에서는 위/변조가 불가능하고 실시간으로 주주명부 등록 또는 주식 소유권 이전을 지원할 수 있는 장점을 살리면서도 상기와 같은 단점을 보완하여 서비스 요청이 몰릴 경우에도 빠른 서비스 속도를 보장하고 비용도 절감할 수 있는 비상장 주식 거래 지원 시스템을 설명한다. 이러한 시스템은 전술한 실시예와 달리 서버(100)에 의해 관리되는 별도의 데이터 구조를 이용한다.Hereinafter, the above-mentioned disadvantages are compensated for, while making it possible to support the registration of the shareholder list or the transfer of the ownership of the stock in real time, which can not be stooped / altered and real time, Describe unlisted stock trading support systems. This system uses a separate data structure managed by the
전술한 프로세서(120)는, 상기 주주명부 파일이 획득되거나 상기 주주명부 파일의 message digest가 획득되고 소정의 조건이 만족되면, 특정 해쉬값 - 상기 특정 해쉬값은, (a) 상기 특정 회사(300)의 private key 및 상기 서버(100)의 private key로 서명된 상기 주주명부 파일의 해쉬값, (b) 상기 서버(100)의 private key로 서명된 상기 주주명부 파일의 해쉬값, (c) 상기 특정 회사(300)의 private key 및 상기 서버(100)의 private key로 인코딩된 상기 message digest의 해쉬값 및 (d) 상기 서버(100)의 private key로 인코딩된 상기 message digest의 해쉬값 중 어느 하나임 - 및 상기 특정 해쉬값과 매칭되는 적어도 하나의 이웃 해쉬값을 연산함으로써 생성되는 대표 해쉬값 또는 상기 대표 해쉬값을 가공한 값을 데이터베이스에 등록하거나 등록하도록 지원할 수 있다. The
즉, 프로세서(120)는 전술한 실시예의 S250 단계와 같이 (i) 상기 특정 회사(300)의 private key(PrivA)와 상기 서버(100)의 private key(PrivC)로 서명된 주주명부 파일에 대한 해쉬값 또는 (ii) 상기 특정 회사(300)의 private key 및 상기 서버(100)의 private key로 인코딩된 상기 message digest의 해쉬값을 데이터베이스(200)에 등록하는 대신, 소정의 조건이 만족되면, 상기 (a) 내지 (d) 중 어느 하나와 적어도 하나의 이웃 해쉬값을 연산하여 대표 해쉬값을 생성하거나 생성하도록 지원하고, 생성된 대표 해쉬값 또는 이를 가공한 값을 데이터베이스에 등록하거나 등록하도록 지원할 수 있다. 여기서, 데이터베이스는 전술한 데이터베이스(200)와 같이 상기 서버(100)가 관리하지 않는 데이터베이스(예를 들어, 가상 화폐의 블록체인)일 수도 있으나 이와 달리 상기 서버(100)에 의해 관리되는 데이터베이스일 수도 있다. 본 명세서에서 서버(100)가 관리하지 않는 데이터베이스(200)를 중심으로 설명을 하나, 본 발명의 기술 사상은 서버(100)에 의해 관리되는 데이터베이스의 경우도 적용될 수 있다.That is, the
특정 해쉬값과 적어도 하나의 이웃 해쉬값의 연산은 다양한 함수에 의해 수행될 수 있다. 특정 해쉬값을 input 이라고 나타내고, 적어도 하나의 이웃 해쉬값을 x1, x2, …, xn이라고 나타낼 때, 대표 해쉬값 t는 다음 수학식과 같이 나타낼 수 있다.The computation of a particular hash value and at least one neighbor hash value may be performed by various functions. A particular hash value is denoted as input, and at least one neighboring hash value is denoted by x1, x2, ... , xn, the representative hash value t can be expressed by the following equation.
<수학식>≪ Equation &
t = hash(function(input, x1, x2, …, xn))t = hash (function (input, x1, x2, ..., xn))
이때 서버(100)는 상기 특정 해쉬값과 상기 적어도 하나의 이웃 해쉬값을 소정의 데이터 구조로 저장하여 관리할 수 있다. 여기서, 데이터 구조는 다양할 수 있는데, 일 예로 머클 트리(merkle tree) 구조가 될 수도 있다. 이 경우, 상기 특정 해쉬값과 적어도 하나의 이웃 해쉬값의 연산은 머클 트리(merkle tree)를 통해 이루어질 수 있다. At this time, the
즉, 프로세서(120)는 상기 특정 해쉬값이 특정 리프 노드에 할당된 머클 트리(merkle tree)를 생성하거나 생성하도록 지원할 수 있고, 상기 소정의 조건이 만족되면, 상기 특정 해쉬값과 매칭되는 적어도 하나의 다른 리프 노드에 할당된 해쉬값을 연산하여 생성되는 상기 대표 해쉬값 또는 상기 대표 해쉬값을 가공한 값을 데이터베이스(200)에 등록하거나 등록하도록 지원할 수 있다. That is, the
좀더 구체적으로 설명하면, (x1) 프로세서(120)는, (i) 상기 특정 해쉬값과 (ii) 상기 특정 해쉬값이 할당된 노드의 형제 노드에 할당된 해쉬값을 연산하거나 연산하도록 지원하고, 상기 연산값에 대한 해쉬값을 상기 노드의 부모 노드에 할당하거나 할당하도록 지원할 수 있다. (x2) 만일, 상기 부모 노드가 상기 머클 트리의 루트 노드이면, 상기 부모 노드에 할당된 해쉬값이 상기 대표 해쉬값이 된다. (x3) 반면, 상기 부모 노드가 상기 머클 트리의 루트 노드가 아니면, 프로세서(120)는, 상기 부모 노드에 할당된 해쉬값을 상기 특정 해쉬값으로 하여 상기 (x1) 내지 (x3)를 반복하여 수행한다. More specifically, (x1)
그리고, 프로세서(120)는 최종적으로 머클 트리의 루트 노드에 할당된 해쉬값을 대표 해쉬값으로서 데이터베이스(200)에 등록하거나 등록하도록 지원한다. 이때, 대표 해쉬값을 가공한 값이 등록될 수도 있다. 예를 들어, 대표 해쉬값에 hex 연산이 수행된 결과값이 등록될 수 있다. Then, the
한편, 상기 서버(100)가 상기 특정 해쉬값과 상기 적어도 하나의 이웃 해쉬값을 소정의 제1 데이터 구조로 저장하고, 이후 상기 제1 데이터 구조와 동일한 형태의 제2 데이터구조를 저장하여 관리하는 경우, 상기 제1 데이터 구조와 상기 제2 데이터 구조는 체인 형태로 연결될 수 있다. Meanwhile, the
특히, 상술한 예에서와 같이 상기 제1 데이터 구조 및 상기 제2 데이터 구조가 머클 트리인 경우, 상기 제1 데이터 구조의 루트값 또는 상기 루트값의 해쉬값이 상기 제2 데이터 구조의 첫번째 리프 노드에 할당될 수 있다.In particular, as in the above example, if the first data structure and the second data structure are merc trees, the root value of the first data structure or the hash value of the root value may be the first leaf node of the second data structure Lt; / RTI >
또한, 제2 데이터 구조를 생성할 때는 제1 데이터 구조에 대한 검증이 이루어짐으로써 데이터 integrity가 좀더 보장될 수 있다. 제2 데이터 구조의 검증에 대해서는 후술하기로 한다. In addition, when the second data structure is created, verification of the first data structure is performed, so that data integrity can be further guaranteed. Verification of the second data structure will be described later.
또한, 체인 형태로 연결된 적어도 하나의 머클 트리 중 첫번째 머클 트리의 경우, 상기 첫번째 머클 트리의 첫번째 리프 노드에는 텍스트, 숫자, 또는 기호로 이루어진 소정의 메시지 데이터의 해쉬값 또는 이를 가공한 값이 할당될 수 있다. 예를 들어, 머클 트리 생성시 서버(100)에 의해 최초로 부여된 입력 메시지의 해쉬값이 할당될 수 있다. In addition, in the case of the first merge tree among the at least one merge tree connected in a chain form, the first leaf node of the first merge tree is assigned a hash value of a predetermined message data composed of text, numbers, or symbols or a processed value thereof . For example, a hash value of an input message initially assigned by the
도 3 및 4는 본 발명의 일 실시예에 따라 생성된 머클 트리의 예를 도시한 도면이다.FIGS. 3 and 4 are views showing examples of a merge tree generated according to an embodiment of the present invention.
도 3에서는 리프 노드의 개수가 4(22)개인 머클 트리가 도시된다. 도시된 머클 트리는 첫번째 머클 트리이기 때문에(tree_id=0), 첫번째 리프 노드인 h1 노드에는 소정의 메시지 데이터 “Coinplug 2016-01-01”의 해쉬값(triplesha256digest(coinplug_unique_message))이 할당되었음을 알 수 있다. 주주명부 파일에 대한 등록 요청이 있는 경우, 프로세서(120)는 현재 구성 중인 머클 트리의 가장 마지막 리프 노드의 다음 리프 노드를 생성하여 특정 해쉬값 또는 특정 해쉬값을 가공한 값을 할당하거나 할당하도록 지원한다. 예를 들어, 도 3의 머클 트리에서 이전 단계에서 두번째 리프 노드인 h1 노드까지 값 할당이 완료된 경우, 다음 리프 노드인 h2 노드를 생성하여 특정 해쉬값 또는 특정 해쉬값을 가공한 값(triplesha256digest(input2))을 할당할 수 있다. 또한, 프로세서(120)는 (i) 특정 해쉬값과 (ii) 상기 특정 해쉬값이 할당된 세번째 리프 노드인 h2 노드의 형제 노드인 h3 노드에 할당된 해쉬값을 연산하거나 연산하도록 지원할 수 있다. 상기 연산값에 대한 해쉬값은 h2 노드와 h3 노드의 부모 노드(h23 노드)에 할당된다. 부모 노드(h23 노드)가 머클 트리의 루트 노드가 아니므로 프로세서(120)는 상기 h23 노드에 할당된 해쉬값을 상기 특정 해쉬값으로 하여 상기 과정을 반복하여 수행할 수 있다. 즉, h23 노드에 할당된 해쉬값을 특정 해쉬값으로 하고, h23 노드에 할당된 해쉬값과 h01 노드에 할당된 해쉬값을 연산하여 h23 노드와 h01 노드의 부모 노드(h0123 노드)에 할당할 수 있다. 이때, h0123 노드가 머클 트리의 루트 노드이므로 프로세서(120)는, h0123 노드에 할당된 해쉬값을 가공한 값(hex(h{node_index}))을 데이터베이스(200)에 등록하거나 등록하도록 지원할 수 있다. FIG. 3 shows a merge tree in which the number of leaf nodes is 4 (2 2 ). Since the illustrated merge tree is the first merge tree (tree_id = 0), it can be seen that the hash value (triplesha256digest (coinplug_unique_message)) of the predetermined message data "Coinplug 2016-01-01" is assigned to the first leaf node h1. If there is a registration request for the shareholder list file, the
한편, 전술한 소정의 조건이란, (i) 소정의 개수만큼의 주주명부 파일이 획득되거나 소정의 개수만큼의 message digest가 생성되는 조건, (ii) 소정 시간이 경과하는 조건, (iii) 블록 체인에서 블록이 생성되는 조건, (iv) 서비스 특성에 대한 조건 중 적어도 하나를 포함할 수 있다. On the other hand, the predetermined conditions are (i) conditions in which a predetermined number of share list files are acquired or a predetermined number of message digests are generated, (ii) conditions in which a predetermined time elapses, (iii) A condition in which a block is generated in the service characteristic, and (iv) a condition for a service characteristic.
예를 들어, 복수의 주주명부 등록 요청이 이루어져 message digest가 머클 트리의 리프 노드 수만큼 획득되면, 각각의 message digest에 대하여 각 사용자의 private key 및 서버(100)의 private key로 인코딩한 결과에 대한 해쉬값이 전술한 머클 트리의 입력값(리프 노드에 할당된 값)이 될 수 있다. For example, if a plurality of shareholder registration requests are made and a message digest is obtained for the number of leaf nodes of the muckle tree, the result of encoding each private key of each user and the private key of the
또한, 프로세서(120)는 소정 시간 단위로 전술한 머클 트리의 루트값을 생성할 수 있다(상기 (ii) 조건). 이 경우 프로세서(120)는 소정의 시간이 경과되면 그때까지의 입력값을 이용하여 머클 트리를 생성하고 머클 트리의 루트값을 데이터베이스(200)에 등록하거나 등록하도록 지원할 수 있다. In addition, the
그런데, 이 경우에는 소정 시간이 경과하였음에도 머클 트리의 특정 해쉬값이 할당된 노드의 형제 노드에 값이 할당되지 않을 수 있다. 이처럼 소정의 조건이 만족되었음에도 상기 특정 해쉬값이 할당된 노드의 형제 노드에 해쉬값이 할당되어 있지 않은 경우, 프로세서(120)는, 상기 형제 노드에 소정의 해쉬값을 할당하거나 할당하도록 지원하여 전술한 방식으로 머클 트리의 루트값이 산출되도록 할 수 있다. 예를 들어, 프로세서(120)는 상기 특정 해쉬값을 복제하여 상기 형제 노드에 할당하거나 할당하도록 지원할 수 있다. In this case, although a predetermined time has elapsed, a value may not be assigned to a sibling node of a node to which a particular hash value of the merge tree is assigned. If the hash value is not allocated to the sibling node of the node to which the specific hash value is allocated, the
상기 서비스 특성이란, 주주명부 등록 요청을 한 사용자(회사)가 지급한 비용 정보, 주주명부 등록이 이루어지는 시간대 정보, 주주명부 등록 서비스가 이루어지는 지역 정보, 주주명부 등록 요청을 한 회사 타입 정보 중 적어도 일부가 될 수 있다. 다만, 여기서 기재한 것에 한정할 것은 아니고, 통상적으로 인정되는 차등적 서비스가 제공될 수 있는 다양한 조건 정보를 포함한다. The service characteristic includes at least one of cost information paid by a user who made a request for registration of a shareholder list, time zone information at which the shareholder list registration is performed, region information at which the shareholder list registration service is performed, . However, the present invention is not limited to the one described here, but includes various condition information in which a generally accepted differential service can be provided.
한편, 새로운 머클 트리 생성이 시작되고, 주주명부 파일이나 message digest 획득이 없는 상태에서 상기 소정의 조건이 만족되면, 상기 프로세서(120)는, 소정의 메시지 데이터가 첫번째 리프 노드와 두번째 리프 노드에 할당된 머클 트리를 생성하거나 생성하도록 지원하고, 상기 머클 트리의 루트값 또는 이를 가공한 값을 데이터베이스(200)에 등록하거나 등록하도록 지원할 수 있다. 이 경우에는 리프 노드 2개짜리 머클 트리가 생성될 수 있는 것이다. On the other hand, when a new merge tree generation is started and the predetermined condition is satisfied without acquiring a shareholder list file or a message digest, the
한편, 전술한 것처럼 서버(100)가 상기 특정 해쉬값과 상기 적어도 하나의 이웃 해쉬값을 소정의 제1 데이터 구조로 저장하고, 이후 상기 제1 데이터 구조와 동일한 형태의 제2 데이터구조를 저장하여 관리하는 경우, 상기 제1 데이터 구조와 상기 제2 데이터 구조는 체인 형태로 연결될 수 있다. 특히, 상기 제1 데이터 구조 및 상기 제2 데이터 구조가 머클 트리인 경우, 상기 제1 데이터 구조의 루트값 또는 상기 루트값의 해쉬값이 상기 제2 데이터 구조의 첫번째 리프 노드에 할당될 수 있다. Meanwhile, as described above, the
도 4는 본 발명의 일 실시예에 따라 상기 제2 데이터 구조로서 생성된 머클 트리를 도시한 도면이다.4 is a diagram illustrating a merge tree generated as the second data structure according to an embodiment of the present invention.
도 4를 참조하면, 도 3의 머클 트리(tree_id=0)의 루트값(hex(h0123))이 새로운 머클 트리의 첫번째 리프 노드(h4 노드)에 할당되었음을 알 수 있다(triplesha256digest(input4)). 본 발명은 이와 같이 트랜잭션 발생시 생성되는 복수의 데이터 구조를 연결함으로써 중간에 데이터가 변조가 발생되는 경우라도 쉽게 트래킹이 가능하여 데이터 integrity를 향상시키는 장점을 가진다. Referring to FIG. 4, it can be seen that the root value (hex (h0123)) of the merge tree (tree_id = 0) of FIG. 3 is assigned to the first leaf node (h4 node) of the new merge tree (triplesha256digest (input4)). The present invention has an advantage of improving data integrity by enabling easy tracking even when data is modulated in the middle by connecting a plurality of data structures generated at the time of occurrence of a transaction.
다음으로, 전술한 데이터 구조를 이용하여 등록된 주주명부 파일에 대해 검증을 수행하는 과정을 설명한다. Next, a process of performing verification on the registered share list file using the above-described data structure will be described.
기존에 서버(100)가 특정 회사(300)의 주주명부 파일을 획득하거나 상기 주주명부 파일의 message digest를 획득하여, 제1 특정 해쉬값(설명의 편의를 위하여 전술한 특정 해쉬값을 여기서는 제1 특정 해쉬값이라 지칭한다.) - 상기 제1 특정 해쉬값은, (i) 상기 특정 회사(300)의 private key 및 상기 서버(100)의 private key로 서명된 상기 주주명부 파일의 해쉬값, (ii) 상기 서버(100)의 private key로 서명된 상기 주주명부 파일의 해쉬값, (iii) 상기 특정 회사(300)의 private key 및 상기 서버(100)의 private key로 인코딩된 상기 message digest의 해쉬값 및 (iv) 상기 서버(100)의 private key로 인코딩된 상기 message digest의 해쉬값 중 어느 하나임 - 과 소정의 조건 하에서 매칭되는 적어도 하나의 이웃 해쉬값을 연산함으로써 생성되는 제1 대표 해쉬값(설명의 편의를 위하여 전술한 대표 해쉬값을 여기서는 제1 대표 해쉬값이라 지칭한다.) 또는 상기 제1 대표 해쉬값을 가공한 값을 데이터베이스(200)에 등록하고 있는 상태에서, 통신부(110)를 통해 상기 주주명부 파일과 관련된 검증 요청이 획득되면, 상기 검증 요청에 포함된 입력 데이터를 사용하여 생성된 제2 대표 해쉬값 또는 상기 제2 대표 해쉬값을 가공한 값이 상기 데이터베이스(200)에 등록된 상기 제1 대표 해쉬값 또는 상기 제1 대표 해쉬값을 가공한 값과 대응되면, 프로세서(120)는 상기 주주명부 파일과 관련된 검증이 이루어진 것으로 판단하거나 판단하도록 지원할 수 있다. The
여기서, 상기 제2 대표 해쉬값은, 제2 특정 해쉬값 - 상기 제2 특정 해쉬값은, 상기 검증 요청에 포함된 입력 데이터에 관한 (i) 주주명부 파일(A)에 대하여 상기 특정 회사(300)의 private key 및 상기 서버(100)의 private key로 서명한 결과의 해쉬값, (ii) 상기 주주명부 파일(A)을 상기 서버(100)의 private key로 서명한 파일의 해쉬값, (iii) 상기 주주명부 파일(A)의 message digest에 대하여 상기 특정 회사(300)의 private key 및 상기 서버(100)의 private key로 인코딩된 결과의 해쉬값 및 (iv) 상기 주주명부 파일(A)의 message digest에 대하여 상기 서버(100)의 private key로 인코딩된 결과의 해쉬값 중 어느 하나임 - 및 상기 제2 특정 해쉬값과 매칭되는 적어도 하나의 이웃 해쉬값을 연산함으로써 생성될 수 있다. Here, the second representative hash value may be a second specific hash value, and the second specific hash value may be (i) related to the input data included in the verification request, (Ii) a hash value of a file in which the shareholder list file A is signed by the private key of the
이때, 상기 검증 요청에 포함된 입력 데이터는, (i) 상기 주주명부 파일, (ii) 상기 주주명부 파일에 대한 message digest, 또는 (iii) 상기 주주명부 파일 등록 당시 발급된 ID 중 어느 하나를 포함할 수 있다.At this time, the input data included in the verification request includes any one of (i) the shareholder list file, (ii) a message digest for the shareholder list file, or (iii) an ID issued at the time of registering the shareholder list file can do.
입력 데이터에 주주명부 파일이 포함되는 경우, 전술한 방법으로 주주명부 파일에 대한 message digest가 생성되고 이를 기초로 하여 상기 제2 특정 해쉬값이 산출될 수 있다. 그리고, 상기 제2 대표 해쉬값은 상기 제2 특정 해쉬값과 매칭되는 적어도 하나의 이웃 해쉬값을 연산하여 생성될 수 있다. In the case where the share list file is included in the input data, the message digest for the shareholder list file is generated in the above-described manner, and the second specific hash value can be calculated based on the message digest. The second representative hash value may be generated by calculating at least one neighboring hash value matching the second specific hash value.
입력 데이터에 주주명부 파일 등록 당시 발급된 ID가 포함되는 경우 기존에 생성된 머클 트리에서 상기 ID에 대응되는 리프 노드에 할당된 값이 상기 제2 특정 해쉬값으로 설정될 수 있다. 도 3 및 4에 도시된 예에서, 상기 ID는 unique ID일 수 있다. When the input data includes the ID issued at the time of registering the shareholder list file, the value assigned to the leaf node corresponding to the ID in the existing generated muckree may be set to the second specified hash value. In the example shown in Figs. 3 and 4, the ID may be a unique ID.
제2 특정 해쉬값에 대해서는 전술한 제1 특정 해쉬값에 대한 설명이 동일하게 적용될 수 있다. 즉, 제2 특정 해쉬값과 적어도 하나의 이웃 해쉬값의 연산은 다양한 함수에 의해 수행될 수 있다. 이에 대해서는 전술하였으므로 설명을 생략한다. For the second specific hash value, the description of the first specific hash value described above can be applied equally. That is, the operation of the second specific hash value and the at least one neighbor hash value can be performed by various functions. Since this has been described above, the explanation is omitted.
이 경우, 상기 제2 특정 해쉬값과 적어도 하나의 이웃 해쉬값의 연산은 머클 트리(merkle tree)를 통해 이루어질 수 있다. 상기 주주명부 파일과 관련된 검증 요청이 획득되면, 프로세서(120)는, 상기 입력 데이터와 관련된 머클 트리 정보 및 리프 노드 정보를 식별할 수 있다. In this case, the calculation of the second specific hash value and the at least one neighbor hash value may be performed through a merkle tree. Once the verification request associated with the shareholder list file is obtained, the
그리고, 상기 제2 대표 해쉬값은, 상기 제2 특정 해쉬값이 특정 리프 노드에 할당된 머클 트리(merkle tree)에서 상기 제2 특정 해쉬값 및 상기 제2 특정 해쉬값과 매칭되는 적어도 하나의 다른 리프 노드에 할당된 해쉬값을 연산하여 생성될 수 있다. The second representative hash value may be at least one other hash value that matches the second specific hash value and the second specific hash value in a merge tree assigned to a particular leaf node. Can be generated by computing a hash value assigned to a leaf node.
서버(100)가 관리하지 않는 데이터베이스(예를 들어, 가상 화폐의 블록체인)를 사용하여 서비스가 이루어지는 경우, 프로세서(120)는, 상기 식별된 머클 트리 정보에 대응되는 상기 소정의 transaction ID를 참조할 수 있다. When a service is performed using a database (for example, a block of virtual money) not managed by the
이 경우, 프로세서(120)는, 상기 주주명부 파일과 관련된 검증 요청이 획득되면, 상기 주주명부 파일과 관련된 소정의 transaction ID를 참조하고, 상기 transaction ID를 사용하여 상기 데이터베이스(200)로부터 OP 메시지를 획득하거나 획득하도록 지원할 수 있다. 또한, 상기 검증 요청에 포함된 입력 데이터를 사용하여 생성된 상기 제2 대표 해쉬값 또는 상기 제2 대표 해쉬값을 가공한 값이 상기 OP 메시지에 포함된 상기 제1 대표 해쉬값 또는 상기 제1 대표 해쉬값을 가공한 값과 대응되면, 상기 특정 파일과 관련된 검증이 이루어진 것으로 판단하거나 판단하도록 지원할 수 있다. In this case, when a verification request related to the shareholder list file is obtained, the
한편, 상기 소정의 transaction ID는 입력 데이터에 포함되어 제공될 수도 있다. 즉, 사용자는 검증 요청시 전술한 (i) 상기 주주명부 파일, (ii) 상기 주주명부 파일에 대한 message digest, 또는 (iii) 상기 주주명부 파일 등록 당시 발급된 ID 중 어느 하나와 함께 transaction ID를 서버(100)에 전달할 수도 있다. Meanwhile, the predetermined transaction ID may be provided in the input data. That is, the user inputs a transaction ID together with either (i) the shareholder list file, (ii) the message digest for the shareholder list file, or (iii) the ID issued at the time of registering the shareholder list file, To the server (100).
검증 연산과정에서 프로세서(120)는 새로운 머클 트리를 생성하거나 생성하도록 지원할 수 있는데, 여기에는 전술한 주주명부 등록 과정에서 생성된 머클 트리가 이용될 수 있다. 즉, 프로세서(120)는 (y1) (i) 상기 제2 특정 해쉬값과 (ii) 기존에 생성된 머클 트리에서 상기 제2 특정 해쉬값이 할당된 노드의 형제 노드에 할당된 해쉬값을 연산하거나 연산하도록 지원하고, 상기 연산값에 대한 해쉬값을 새로운 머클 트리에서 상기 노드의 부모 노드에 할당하거나 할당하도록 지원할 수 있다. 또한, (y2) 상기 부모 노드가 상기 새로운 머클 트리의 루트 노드이면, 상기 부모 노드에 할당된 해쉬값을 상기 제2 대표 해쉬값으로서 상기 OP 메시지에 포함된 값과 비교하거나 비교하도록 지원하고, (y3) 상기 부모 노드가 상기 새로운 머클 트리의 루트 노드가 아니면, 상기 부모 노드에 할당된 해쉬값을 상기 제2 특정 해쉬값으로 하여 상기 (y1) 내지 (y3)를 반복하여 수행할 수 있다. In the verification operation, the
프로세서(120)는, 최종적으로 생성된 머클 트리의 루트값 또는 이를 가공한 값이 상기 OP 메시지에 포함된 상기 제1 대표 해쉬값 또는 상기 제1 대표 해쉬값을 가공한 값과 대응되면, 상기 특정 파일과 관련된 검증이 이루어진 것으로 판단하거나 판단하도록 지원할 수 있다. If the root value of the finally generated muck tree or the processed value corresponds to the value obtained by processing the first representative hash value or the first representative hash value included in the OP message, And can help judge or judge that the verification associated with the file has been made.
이처럼 본 발명은 주주명부 등록 단계에서 nm(=N)개의 리프 노드를 가지는 머클 트리가 생성이 되면, 머클 트리의 높이(lognN=m)만큼의 연산만을 수행함으로써 파일에 대한 검증을 수행할 수 있어 빠르게 transaction의 integrity 확인이 가능하게 된다. As described above, according to the present invention, when a merge tree having n m (= N) leaf nodes is created in the registering step of the shareholder list, verification is performed by performing only the operation of the merge tree height (log n N = m) This makes it possible to quickly check transaction integrity.
한편, 프로세서(120)는 입력 데이터를 획득하는 경우, 입력 데이터와 관련된 시간 정보를 참조로 하여 상기 입력 데이터와 관련된 머클 트리 정보 및 리프 노드 정보 중 적어도 하나를 식별할 수도 있다.Meanwhile, when obtaining the input data, the
이하에서는 도 3에 도시된 구체적인 예를 들어 검증 과정을 설명한다. Hereinafter, a verification process will be described with reference to a concrete example shown in FIG.
다시 도 3을 참조하면, input 2에 대한 검증 요청이 있는 경우, 프로세서(120)는 입력 데이터 정보를 참조로 하여 기존에 생성된 머클 트리와 리프 노드 정보를 식별하고, 식별된 머클 트리 정보(tree_id = 0)에 대응되는 소정의 transaction ID를 데이터베이스(200)에 전송하여 데이터베이스(200)로부터 OP 메시지를 획득한다. 그리고, 프로세서(120)는 input 2를 이용하여 새로운 머클 트리를 생성하거나 생성하도록 지원할 수 있다. input 2의 해쉬값(triplesha256digest(input2))이 h2 노드에 할당되어 있으므로 프로세서(120)는 h2 노드에 할당된 해쉬값과 기존에 생성된 머클 트리에서 h2 노드의 형제 노드인 h3 노드에 할당된 해쉬값을 연산하거나 연산하도록 지원할 수 있다. 상기 연산값에 대한 해쉬값은 h2 노드와 h3 노드의 부모 노드인 h23 노드에 할당된다. h23 노드가 새로운 머클 트리의 루트 노드가 아니므로 프로세서(120)는 상기 h23 노드에 할당된 해쉬값을 상기 제2 특정 해쉬값으로 하여 상기 과정을 반복하여 수행할 수 있다. 즉, h23 노드에 할당된 해쉬값을 제2 특정 해쉬값으로 하고, h23 노드에 할당된 해쉬값과 기존에 생성된 머클 트리에서 h01 노드에 할당된 해쉬값을 연산하여 h23 노드와 h01 노드의 부모 노드인 h0123 노드에 할당할 수 있다. 이때, h0123 노드가 머클 트리의 루트 노드이므로 프로세서(120)는, h0123 노드에 할당된 해쉬값을 가공한 값(hex(h{node_index}))을 상기 OP 메시지에 포함된 값과 비교하거나 비교하도록 지원할 수 있다. Referring again to FIG. 3, when there is a verification request for
이하에서는 본 발명의 일 실시예에 따른 주식 소유권 이전을 기록하는 방법을 설명한다. 다만, 전술한 실시예와 중복되는 설명은 생략한다.Hereinafter, a method of recording stock ownership transfer according to an embodiment of the present invention will be described. However, the description overlapping with the above embodiment will be omitted.
도 5는 본 발명의 일 실시예에 따라 주식 소유권 이전을 기록하는 과정을 도시한 시퀀스 다이어그램이다.FIG. 5 is a sequence diagram illustrating a process of recording stock ownership transfer according to an embodiment of the present invention.
도 5를 참조하면, 통신부(110)는 제1 사용자(400-1)와 제2 사용자(400-2) 간에 특정 회사(300)의 주식 소유권에 대한 이전 거래 내역을 나타내는 주식 소유권 이전 거래 정보(TransDE)를 획득한다(S505). 5, the
프로세서(120)는 상기 획득된 주식 소유권 이전 거래 정보와 관련된 정보가 진정한 것인지 확인하거나 확인하도록 지원할 수 있다. 상기 확인 결과가 참이면(S550), 프로세서(120)는, 상기 주식 소유권에 대한 이전 거래 내역이 반영된 주주명부 파일(File')을 생성하거나 생성하도록 지원하고(S555), 상기 주주명부 파일(File')에 대하여 (l) 상기 특정 회사(300)의 private key 및 상기 서버(100)의 private key 또는 (m) 상기 서버(100)의 private key 로 서명된 파일을 생성하거나 생성하도록 지원할 수 있고(S575), 생성된 파일의 해쉬값을 생성하여(S577) 데이터베이스(200)에 등록하거나 등록하도록 지원할 수 있다(S580). 상기 (m)의 경우는 서버(100)가 특정 회사(300)로부터 권한을 위임받은 경우를 상정할 수 있다. 또한, 새로운 주주명부 파일(File')은 기존의 주주명부 파일(File)에 새로운 내용이 추가될 수도 있고(attach) 새로운 내용으로 파일 자체가 덮어쓰기 되어 생성될 수도 있다. 새로운 주주명부 파일은 기존의 주주명부 파일에 TransDE 및 SigPrivE(SigPrivD(TransDE)) 중 적어도 하나가 추가된 형태일 수 있다.
통신부(110)는, 상기 등록된 해쉬값의 데이터베이스(200) 상의 위치 정보를 나타내는 transaction ID를 획득할 수 있다(S582). The
한편, 상기 획득된 주식 소유권 이전 거래 정보와 관련된 정보가 진정한 것인지 확인하는 과정은 다음과 같이 이루어질 수 있다. On the other hand, the process of confirming whether the information related to the obtained stock ownership transfer transaction information is genuine can be performed as follows.
우선, 주식 소유권 이전 기록 요청(S505)을 통해 제1 사용자(400-1)의 private key로 서명된 주식 소유권 이전 거래 정보(SigPrivD(TransDE))가 획득되면, 프로세서(120)는, 상기 제1 사용자(400-1)의 public key를 이용하여 상기 주식 소유권 이전 거래 정보를 확인하거나 확인하도록 지원한다(S510). If the stock ownership transfer transaction information SigPrivD (TransDE) signed with the private key of the first user 400-1 is obtained through the request for the transfer of stock ownership transfer record (S505), the
S510 단계의 확인 결과가 참이면(S510-2), 통신부(110)는 제1 사용자(400-1)의 public key, 주식 소유권 이전 거래 정보(TransDE), 제1 사용자(400-1)의 private key로 서명된 주식 소유권 이전 거래 정보를 제2 사용자(400-2)에 전달한다(S520). If the result of step S510 is true (S510-2), the
제1 사용자(400-1)의 private key로 서명된 주식 소유권 이전 거래 정보(SigPrivD(TransDE))에 대하여 상기 제2 사용자(400-2)의 private key로 서명된 정보(SigPrivE(SigPrivD(TransDE)))가 획득되면, 프로세서(120)는 상기 제1 사용자(400-1)의 public key 및 상기 제2 사용자(400-2)의 public key를 이용하여 상기 주식 소유권 이전 거래 정보를 확인하거나 확인하도록 지원할 수 있다(S535). Information SigPrivE (SigPrivD (TransDE)) signed with the private key of the second user 400-2 for the stock ownership transfer transaction information SigPrivD (TransDE) signed with the private key of the first user 400-1, ), The
상기 S535 단계의 확인 결과 역시 참이면 전술한 S550이하의 단계가 수행된다.If the result of the checking in step S535 is also true, the steps after step S550 are performed.
이 경우, 프로세서(120)는, 기저장된 주주명부 파일을 복호화하거나 복호화하도록 지원하고(S552), 복호화된 주주명부 파일에 상기 주식 소유권 이전 거래 내역을 반영하여 새로운 주주명부 파일(File')을 생성하거나 생성하도록 지원할 수 있다(S555). In this case, the
이렇게 새롭게 생성된 주주명부 파일(File')은, (i) 상기 주식 소유권 이전 거래 정보에 대하여 상기 제1 사용자(400-1)의 private key 및 상기 제2 사용자(400-2)의 private key로 서명된 정보(X 정보) 또는 (ii) 상기 X 정보 및 상기 주식 소유권 이전 거래 정보를 포함하여 획득될 수 있다. The newly created share list file (File ') includes (i) the private key of the first user 400-1 and the private key of the second user 400-2 with respect to the stock ownership transfer transaction information Signed information (X information) or (ii) the X information and the stock ownership transfer transaction information.
또한, 프로세서(120)는, hash 함수를 사용하여 상기 새롭게 생성된 주주명부 파일에 대한 message digest를 생성하거나 생성하도록 지원할 수 있다(S557). In addition, the
그리고, 통신부(110)가, 상기 생성된 message digest, 상기 생성된 주주명부 파일, 상기 주식 소유권 이전 거래 정보에 대하여 상기 제1 사용자(400-1)의 private key 및 상기 제2 사용자(400-2)의 private key로 서명된 정보, 상기 주식 소유권 이전 거래 정보를 포함한 정보를 상기 특정 회사(300)에 전송할 수 있다(S562). The
그러면, 프로세서(120)는, 상기 특정 회사(300)가, (i) 상기 주주명부 파일로부터 상기 message digest가 생성된 것인지 확인하는 프로세스, (ii) 상기 message digest에 대하여 상기 특정 회사(300)의 private key로 서명된 정보(N 정보)을 생성하는 프로세스, (iii) 상기 주식 소유권 이전 거래 정보에 대한 정보를 확인하는 프로세스를 수행하도록 지원하고(S565), 상기 특정 회사(300)로부터 message digest 및 상기 N 정보를 수신하고(S567), 상기 특정 회사(300)의 public key를 이용하여 상기 특정 회사(300)의 서명 정보가 맞는지 확인할 수 있다(S570).The
한편, 프로세서(120)는 새롭게 생성된 주주명부 파일을 저장하거나 저장하도록 지원할 수 있고(S560), 생성된 주주명부 파일은 AES encryption되어 저장될 수 있다. Meanwhile, the
통신부(110)는 transaction ID가 수신되면, 등록이 성공되었음을 나타내는 정보를 제1 사용자(400-1), 제2 사용자(400-2), 특정 회사(300)에 전송한다(S585). When the transaction ID is received, the
한편, 프로세서(120)는 상기 특정 회사(300)의 public key, 상기 주주명부 파일의 message digest, 상기 특정 회사(300)의 private key로 서명된 주주명부 파일, 상기 획득된 transaction ID, 상기 주주명부 파일을 저장하거나 저장하도록 지원할 수 있다. 또한, 상기 특정 회사(300)의 private key, 상기 서버(100)의 private key 순으로 서명된 주주명부 파일(L 파일) 및 상기 L 파일의 해쉬값 중 적어도 일부를 더 저장하거나 저장하도록 지원할 수 있다. Meanwhile, the
이하에서는 전술한 별도의 데이터 구조를 이용하여 주식 소유권 이전을 기록하는 실시예를 설명한다. 다만, 중복되는 설명은 생략한다.Hereinafter, an embodiment in which stock ownership transfer is recorded using the above-described separate data structure will be described. However, redundant description will be omitted.
전술한 프로세서(120)는, 주주명부 파일이 획득되거나 상기 주주명부 파일의 message digest가 획득되고 소정의 조건이 만족되면, 특정 해쉬값 - 상기 특정 해쉬값은, (i) 상기 특정 회사(300)의 private key 및 상기 서버(100)의 private key로 서명된 상기 주주명부 파일의 해쉬값, (ii) 상기 서버(100)의 private key로 서명된 상기 주주명부 파일의 해쉬값, (iii) 상기 특정 회사(300)의 private key 및 상기 서버(100)의 private key로 인코딩된 상기 message digest의 해쉬값 및 (iv) 상기 서버(100)의 private key로 인코딩된 상기 message digest의 해쉬값 중 어느 하나임 - 및 상기 특정 해쉬값과 매칭되는 적어도 하나의 이웃 해쉬값을 연산함으로써 생성되는 대표 해쉬값 또는 상기 대표 해쉬값을 가공한 값을 데이터베이스(200)에 등록하거나 등록하도록 지원할 수 있다. The
이때, 주식 소유권에 대한 이전 거래 내역을 나타내는 주식 소유권 이전 거래 정보가 획득되면, 프로세서(120)는 상기 획득된 주식 소유권 이전 거래 정보와 관련된 정보가 진정한 것인지 확인하거나 확인하도록 지원하고, 상기 확인 결과가 참이면, 상기 주주명부 파일이 획득되거나 상기 주주명부 파일의 message digest가 획득될 수 있다. At this time, if the stock ownership transfer transaction information indicating the previous transaction details of the stock ownership is acquired, the
한편, 전술한 프로세서(120)는 통신부(110) 및 다른 구성요소 간의 데이터의 흐름을 제어하는 기능을 수행한다. 즉, 프로세서(120)는 서버(100)의 각 구성요소 간의 데이터의 흐름을 제어함으로써, 통신부(110) 및 다른 구성요소에서 각각 고유 기능을 수행하도록 제어한다.Meanwhile, the
프로세서(120)는 MPU(Micro Processing Unit) 또는 CPU(Central Processing Unit), 캐쉬 메모리(Cache Memory), 데이터 버스(Data Bus) 등의 하드웨어 구성을 포함할 수 있다. 또한, 운영체제, 특정 목적을 수행하는 어플리케이션의 소프트웨어 구성을 더 포함할 수도 있다. The
또한, 이상 설명된 본 발명에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.In addition, the embodiments of the present invention described above can be implemented in the form of program instructions that can be executed through various computer components and recorded in a computer-readable recording medium. The computer-readable recording medium may include program commands, data files, data structures, and the like, alone or in combination. The program instructions recorded on the computer-readable recording medium may be those specially designed and constructed for the present invention or may be those known and used by those skilled in the computer software arts. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tape, optical recording media such as CD-ROMs and DVDs, magneto-optical media such as floptical disks, media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those generated by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware device may be configured to operate as one or more software modules for performing the processing according to the present invention, and vice versa.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, but, on the contrary, Those skilled in the art will appreciate that various modifications, additions and substitutions are possible, without departing from the scope and spirit of the invention as disclosed in the accompanying claims.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.Therefore, the spirit of the present invention should not be construed as being limited to the above-described embodiments, and all of the equivalents or equivalents of the claims, as well as the following claims, I will say.
100 : 서버
110 : 통신부
120 : 프로세서
200 : 데이터베이스
300 : 특정 회사
400-1 : 제1 사용자
400-2 : 제2 사용자100: Server
110:
120: Processor
200: Database
300: Specific company
400-1: First user
400-2: the second user
Claims (36)
(a) 서버가 주주명부 파일을 획득하거나 상기 주주명부 파일의 message digest를 획득하거나 획득하도록 지원하는 단계,
(b) 소정의 조건이 만족되면, 상기 서버가, 특정 해쉬값 - 상기 특정 해쉬값은, (i) 상기 특정 회사의 private key 및 상기 서버의 private key로 서명된 상기 주주명부 파일의 해쉬값, (ii) 상기 서버의 private key로 서명된 상기 주주명부 파일의 해쉬값, (iii) 상기 특정 회사의 private key 및 상기 서버의 private key로 인코딩된 상기 message digest의 해쉬값 및 (iv) 상기 서버의 private key로 인코딩된 상기 message digest의 해쉬값 중 어느 하나임 - 및 상기 특정 해쉬값과 매칭되는 적어도 하나의 이웃 해쉬값을 연산함으로써 생성되는 대표 해쉬값 또는 상기 대표 해쉬값을 가공한 값을 데이터베이스에 등록하거나 등록하도록 지원하는 단계
를 포함하는 방법.In a method for registering a shareholder list,
(a) supporting the server to obtain a shareholder file or to obtain or acquire a message digest of the shareholder file;
(b) if the predetermined condition is satisfied, the server obtains a specific hash value, the hash value including (i) a hash value of the private key of the specific company and the share list file signed by the private key of the server, (ii) a hash value of the shareholder list file signed with the private key of the server, (iii) a private key of the specific company and a hash value of the message digest encoded with the private key of the server, and (iv) a value obtained by processing a representative hash value or a representative hash value generated by computing at least one neighboring hash value matched with the specific hash value is registered in the database Steps to Support
≪ / RTI >
상기 (b) 단계에서,
상기 소정의 조건은,
(i) 소정의 개수만큼의 주주명부 파일이 획득되거나 소정의 개수만큼의 message digest가 생성되는 조건, (ii) 소정 시간이 경과하는 조건, (iii) 블록 체인에서 블록이 생성되는 조건, (iv) 서비스 특성에 대한 조건 중 적어도 하나를 포함하는 것을 특징으로 하는 방법.The method according to claim 1,
In the step (b)
The predetermined condition is that,
(i) a condition that a predetermined number of shareholder file files are acquired or a predetermined number of message digests are generated, (ii) a condition that a predetermined time elapses, (iii) a condition in which a block is generated in a block chain, ) ≪ / RTI > service characteristics.
상기 (b) 단계에서,
상기 서버는, 상기 특정 해쉬값이 리프 노드에 할당된 머클 트리(merkle tree)를 생성하거나 생성하도록 지원하고,
상기 소정의 조건이 만족되면, 상기 특정 해쉬값과 매칭되는 적어도 하나의 다른 리프 노드에 할당된 해쉬값을 연산하여 생성되는 상기 대표 해쉬값 또는 상기 대표 해쉬값을 가공한 값을 상기 데이터베이스에 등록하거나 등록하도록 지원하는 것을 특징으로 하는 방법.The method according to claim 1,
In the step (b)
The server supports the particular hash value to generate or generate a merkle tree assigned to a leaf node,
If the predetermined condition is satisfied, a value obtained by processing the representative hash value or the representative hash value generated by calculating a hash value assigned to at least one other leaf node matching the specified hash value is registered in the database And registering the same.
상기 머클 트리가 체인 형태로 연결된 적어도 하나의 머클 트리 중 첫번째 머클 트리인 경우, 상기 머클 트리의 첫번째 리프 노드에는 텍스트, 숫자, 또는 기호로 이루어진 소정의 메시지 데이터의 해쉬값 또는 이를 가공한 값이 할당되는 것을 특징으로 하는 방법.The method of claim 3,
If the merge tree is the first merge tree among at least one merge tree connected in a chain form, the first leaf node of the merge tree is assigned a hash value of a predetermined message data composed of text, numbers, or symbols or a processed value thereof ≪ / RTI >
상기 소정의 조건이 만족되면,
(x1) 상기 서버는, (i) 상기 특정 해쉬값과 (ii) 상기 특정 해쉬값이 할당된 노드의 형제 노드에 할당된 해쉬값을 연산하거나 연산하도록 지원하고, 상기 연산값에 대한 해쉬값을 상기 노드의 부모 노드에 할당하거나 할당하도록 지원하며,
(x2) 상기 부모 노드가 상기 머클 트리의 루트 노드이면, 상기 부모 노드에 할당된 해쉬값을 상기 대표 해쉬값으로서 상기 데이터베이스에 등록하거나 등록하도록 지원하고,
(x3) 상기 부모 노드가 상기 머클 트리의 루트 노드가 아니면, 상기 부모 노드에 할당된 해쉬값을 상기 특정 해쉬값으로 하여 상기 (x1) 내지 (x3)를 반복하여 수행하는 것을 특징으로 하는 방법.The method of claim 3,
If the predetermined condition is satisfied,
(x1) The server supports to calculate or calculate a hash value assigned to (i) the specific hash value and (ii) a sibling node of the node to which the specific hash value is assigned, and calculates a hash value To assign or assign to the parent node of the node,
(x2) if the parent node is a root node of the merge tree, supports to register or register the hash value assigned to the parent node as the representative hash value in the database,
(x3) If the parent node is not the root node of the merge tree, the step (x1) to (x3) are repeated by using the hash value assigned to the parent node as the specific hash value.
상기 (x1)에서
상기 소정의 조건이 만족되었음에도 상기 특정 해쉬값이 할당된 노드의 형제 노드에 해쉬값이 할당되어 있지 않은 경우, 상기 서버는, 상기 형제 노드에 소정의 해쉬값을 할당하거나 할당하도록 지원하여 상기 (x1) 내지 (x3)를 수행하는 것을 특징으로 하는 방법.6. The method of claim 5,
At (x1)
If the hash value is not allocated to the sibling node of the node to which the specific hash value is allocated even though the predetermined condition is satisfied, the server supports to assign or assign a predetermined hash value to the sibling node, ) To (x3). ≪ / RTI >
상기 서버가 상기 특정 해쉬값과 상기 적어도 하나의 이웃 해쉬값을 소정의 제1 데이터 구조로 저장하고, 이후 상기 제1 데이터 구조와 동일한 형태의 제2 데이터구조를 저장하여 관리하는 경우, 상기 제1 데이터 구조와 상기 제2 데이터 구조는 체인 형태로 연결되는 것을 특징으로 하는 방법.The method according to claim 1,
When the server stores the specific hash value and the at least one neighbor hash value in a predetermined first data structure and then stores and manages a second data structure of the same type as the first data structure, Wherein the data structure and the second data structure are connected in a chain form.
상기 제1 데이터 구조 및 상기 제2 데이터 구조가 머클 트리인 경우, 상기 제1 데이터 구조의 루트값 또는 상기 루트값의 해쉬값이 상기 제2 데이터 구조의 첫번째 리프 노드에 할당되는 것을 특징으로 하는 방법.8. The method of claim 7,
Wherein a root value of the first data structure or a hash value of the root value is assigned to a first leaf node of the second data structure if the first data structure and the second data structure are merc trees. .
상기 (a) 단계에서, 주주명부 파일이나 message digest 획득이 없고,
상기 (b) 단계에서, 상기 소정의 조건이 만족되면, 상기 서버는, 소정의 메시지 데이터가 첫번째 리프 노드와 두번째 리프 노드에 할당된 머클 트리를 생성하거나 생성하도록 지원하고, 상기 머클 트리의 루트값 또는 이를 가공한 값을 상기 데이터베이스에 등록하거나 등록하도록 지원하는 것을 특징으로 하는 방법.The method according to claim 1,
In the step (a), if no shareholder list file or message digest is acquired,
If the predetermined condition is satisfied in the step (b), the server supports to generate or generate a merge tree in which predetermined message data is allocated to a first leaf node and a second leaf node, Or registering or registering the processed value in the database.
상기 데이터베이스는 가상 화폐의 블록체인 또는 상기 서버에 의해 관리되는 데이터베이스인 것을 특징으로 하는 방법.The method according to claim 1,
Wherein the database is a block chain of virtual money or a database managed by the server.
(a) 서버가, 제1 사용자와 제2 사용자 간에 특정 회사의 주식 소유권에 대한 이전 거래 내역이 반영된 주주명부 파일을 획득하거나 상기 주주명부 파일의 message digest를 획득하거나 획득하도록 지원하는 단계,
(b) 소정의 조건이 만족되면, 상기 서버가, 특정 해쉬값 - 상기 특정 해쉬값은, (i) 상기 특정 회사의 private key 및 상기 서버의 private key로 서명된 상기 주주명부 파일의 해쉬값, (ii) 상기 서버의 private key로 서명된 상기 주주명부 파일의 해쉬값, (iii) 상기 특정 회사의 private key 및 상기 서버의 private key로 인코딩된 상기 message digest의 해쉬값 및 (iv) 상기 서버의 private key로 인코딩된 상기 message digest의 해쉬값 중 어느 하나임 - 및 상기 특정 해쉬값과 매칭되는 적어도 하나의 이웃 해쉬값을 연산함으로써 생성되는 대표 해쉬값 또는 상기 대표 해쉬값을 가공한 값을 데이터베이스에 등록하거나 등록하도록 지원하는 단계
를 포함하는 방법.In a method for recording stock ownership transfer,
(a) the server acquiring a shareholder file reflecting the previous transaction details of the stock ownership of a specific company between the first user and the second user, or obtaining or obtaining a message digest of the shareholder file;
(b) if the predetermined condition is satisfied, the server obtains a specific hash value, the hash value including (i) a hash value of the private key of the specific company and the share list file signed by the private key of the server, (ii) a hash value of the shareholder list file signed with the private key of the server, (iii) a private key of the specific company and a hash value of the message digest encoded with the private key of the server, and (iv) a value obtained by processing a representative hash value or a representative hash value generated by computing at least one neighboring hash value matched with the specific hash value is registered in the database Steps to Support
≪ / RTI >
상기 (a) 단계 이전에,
(a0) 상기 주식 소유권에 대한 이전 거래 내역을 나타내는 주식 소유권 이전 거래 정보가 획득되면, 상기 서버가, 상기 획득된 주식 소유권 이전 거래 정보와 관련된 정보가 진정한 것인지 확인하거나 확인하도록 지원하는 단계를 더 포함하고,
상기 확인 결과가 참이면, 상기 (a) 단계가 수행되는 것을 특징으로 하는 방법.12. The method of claim 11,
Before the step (a)
(a0) further includes the step of supporting, when the stock ownership transfer transaction information indicating the previous transaction details of the stock ownership is acquired, confirming or confirming whether the information related to the obtained stock ownership transfer transaction information is authentic and,
And if the result of the check is true, the step (a) is performed.
상기 (a0) 단계는,
(a01) 상기 제1 사용자의 private key로 서명된 주식 소유권 이전 거래 정보(A 정보)가 획득되면, 상기 서버가, 상기 제1 사용자의 public key를 이용하여 상기 주식 소유권 이전 거래 정보를 확인하거나 확인하도록 지원하는 단계, 및
(a02) 상기 A 정보에 대하여 상기 제2 사용자의 private key로 서명된 정보가 획득되면, 상기 서버가, 상기 제1 사용자의 public key 및 상기 제2 사용자의 public key를 이용하여 상기 주식 소유권 이전 거래 정보를 확인하거나 확인하도록 지원하는 단계를 포함하는 것을 특징으로 하는 방법.13. The method of claim 12,
The step (a0)
(a01) If the stock ownership transfer transaction information (A information) signed with the private key of the first user is obtained, the server confirms or confirms the stock ownership transfer transaction information using the public key of the first user , ≪ / RTI > and
(a02) If the information signed with the private key of the second user is obtained with respect to the A information, the server transmits the stock ownership transfer transaction using the public key of the first user and the public key of the second user And supporting information to verify or confirm.
상기 (b) 단계에서,
상기 소정의 조건은,
(i) 소정의 개수만큼의 주주명부 파일이 획득되거나 소정의 개수만큼의 message digest가 생성되는 조건, (ii) 소정 시간이 경과하는 조건, (iii) 블록 체인에서 블록이 생성되는 조건, (iv) 서비스 특성에 대한 조건 중 적어도 하나를 포함하는 것을 특징으로 하는 방법.12. The method of claim 11,
In the step (b)
The predetermined condition is that,
(i) a condition that a predetermined number of shareholder file files are acquired or a predetermined number of message digests are generated, (ii) a condition that a predetermined time elapses, (iii) a condition in which a block is generated in a block chain, ) ≪ / RTI > service characteristics.
상기 (b) 단계에서,
상기 서버는, 상기 특정 해쉬값이 리프 노드에 할당된 머클 트리(merkle tree)를 생성하거나 생성하도록 지원하고,
상기 소정의 조건이 만족되면, 상기 특정 해쉬값과 매칭되는 적어도 하나의 다른 리프 노드에 할당된 해쉬값을 연산하여 생성되는 상기 대표 해쉬값 또는 상기 대표 해쉬값을 가공한 값을 상기 데이터베이스에 등록하거나 등록하도록 지원하는 것을 특징으로 하는 방법.12. The method of claim 11,
In the step (b)
The server supports the particular hash value to generate or generate a merkle tree assigned to a leaf node,
If the predetermined condition is satisfied, a value obtained by processing the representative hash value or the representative hash value generated by calculating a hash value assigned to at least one other leaf node matching the specified hash value is registered in the database And registering the same.
상기 머클 트리가 체인 형태로 연결된 적어도 하나의 머클 트리 중 첫번째 머클 트리인 경우, 상기 머클 트리의 첫번째 리프 노드에는 텍스트, 숫자, 또는 기호로 이루어진 소정의 메시지 데이터의 해쉬값 또는 이를 가공한 값이 할당되는 것을 특징으로 하는 방법.16. The method of claim 15,
If the merge tree is the first merge tree among at least one merge tree connected in a chain form, the first leaf node of the merge tree is assigned a hash value of a predetermined message data composed of text, numbers, or symbols or a processed value thereof ≪ / RTI >
상기 소정의 조건이 만족되면,
(x1) 상기 서버는, (i) 상기 특정 해쉬값과 (ii) 상기 특정 해쉬값이 할당된 노드의 형제 노드에 할당된 해쉬값을 연산하거나 연산하도록 지원하고, 상기 연산값에 대한 해쉬값을 상기 노드의 부모 노드에 할당하거나 할당하도록 지원하며,
(x2) 상기 부모 노드가 상기 머클 트리의 루트 노드이면, 상기 부모 노드에 할당된 해쉬값을 상기 대표 해쉬값으로서 상기 데이터베이스에 등록하거나 등록하도록 지원하고,
(x3) 상기 부모 노드가 상기 머클 트리의 루트 노드가 아니면, 상기 부모 노드에 할당된 해쉬값을 상기 특정 해쉬값으로 하여 상기 (x1) 내지 (x3)를 반복하여 수행하는 것을 특징으로 하는 방법.16. The method of claim 15,
If the predetermined condition is satisfied,
(x1) The server supports to calculate or calculate a hash value assigned to (i) the specific hash value and (ii) a sibling node of the node to which the specific hash value is assigned, and calculates a hash value To assign or assign to the parent node of the node,
(x2) if the parent node is a root node of the merge tree, supports to register or register the hash value assigned to the parent node as the representative hash value in the database,
(x3) If the parent node is not the root node of the merge tree, the step (x1) to (x3) are repeated by using the hash value assigned to the parent node as the specific hash value.
(a) 기존에 서버가 특정 회사의 주주명부 파일을 획득하거나 상기 주주명부 파일의 message digest를 획득하여, 제1 특정 해쉬값 - 상기 제1 특정 해쉬값은, (i) 상기 특정 회사의 private key 및 상기 서버의 private key로 서명된 상기 주주명부 파일의 해쉬값, (ii) 상기 서버의 private key로 서명된 상기 주주명부 파일의 해쉬값, (iii) 상기 특정 회사의 private key 및 상기 서버의 private key로 인코딩된 상기 message digest의 해쉬값 및 (iv) 상기 서버의 private key로 인코딩된 상기 message digest의 해쉬값 중 어느 하나임 - 과 소정의 조건 하에서 매칭되는 적어도 하나의 이웃 해쉬값을 연산함으로써 생성되는 제1 대표 해쉬값 또는 상기 제1 대표 해쉬값을 가공한 값을 데이터베이스에 등록하고 있는 상태에서, 상기 서버가, 상기 주주명부 파일과 관련된 검증 요청을 획득하는 단계, 및
(b) 상기 검증 요청에 포함된 입력 데이터를 사용하여 생성된 제2 대표 해쉬값 또는 상기 제2 대표 해쉬값을 가공한 값이 상기 데이터베이스에 등록된 상기 제1 대표 해쉬값 또는 상기 제1 대표 해쉬값을 가공한 값과 대응되면, 상기 서버가, 상기 주주명부 파일과 관련된 검증이 이루어진 것으로 판단하거나 판단하도록 지원하는 단계를 포함하는 방법.A method for verifying a registered shareholder file,
(a) a server obtains a shareholder list file of a specific company or obtains a message digest of the shareholder list file, and the first specified hash value - the first specified hash value includes (i) a private key (Ii) a hash value of the shareholder file signed with a private key of the server, (iii) a private key of the specific company, and a private key of the server, (iii) a hash value of the message digest encoded with the private key of the server and (iv) a hash value of the message digest encoded with the private key of the server. The hash value is generated by computing at least one neighbor hash value that matches under certain conditions A step of the server acquiring a verification request related to the shareholder list file in a state where a value obtained by processing the first representative hash value or the first representative hash value is registered in the database,
(b) a second representative hash value generated by using the input data included in the verification request or a value obtained by processing the second representative hash value is the first representative hash value registered in the database or the first representative hash value And if the value is matched with the processed value, the server is assisted to determine or determine that the verification associated with the shareholder file has been performed.
상기 (a) 단계는,
(a1) 상기 주주명부 파일과 관련된 검증 요청이 획득되면, 상기 서버가, 상기 주주명부 파일과 관련된 소정의 transaction ID를 참조하는 단계, 및
(a2) 상기 서버가, 상기 transaction ID를 사용하여 상기 데이터베이스로부터 OP 메시지를 획득하는 단계를 포함하고,
상기 (b) 단계에서,
상기 검증 요청에 포함된 입력 데이터를 사용하여 생성된 상기 제2 대표 해쉬값 또는 상기 제2 대표 해쉬값을 가공한 값이 상기 OP 메시지에 포함된 상기 제1 대표 해쉬값 또는 상기 제1 대표 해쉬값을 가공한 값과 대응되면, 상기 서버가, 상기 주주명부 파일과 관련된 검증이 이루어진 것으로 판단하거나 판단하도록 지원하는 것을 특징으로 하는 방법.19. The method of claim 18,
The step (a)
(a1) when the verification request related to the shareholder list file is obtained, the server refers to a predetermined transaction ID associated with the shareholder list file, and
(a2) the server obtaining an OP message from the database using the transaction ID,
In the step (b)
Wherein the value of the second representative hash value or the value of the second representative hash value generated using the input data included in the verification request is the first representative hash value or the first representative hash value Wherein the server is configured to determine whether or not the verification associated with the shareholder file has been performed.
상기 (a1) 단계에서,
상기 주주명부 파일과 관련된 검증 요청이 획득되면, 상기 서버는, 상기 입력 데이터와 관련된 머클 트리 정보 및 리프 노드 정보를 식별하고, 상기 식별된 머클 트리 정보에 대응되는 상기 소정의 transaction ID를 참조하는 것을 특징으로 하는 방법.20. The method of claim 19,
In the step (a1)
When a verification request related to the shareholder list file is obtained, the server identifies the merge tree information and leaf node information associated with the input data, and refers to the predetermined transaction ID corresponding to the identified mu tree tree information Lt; / RTI >
상기 (b) 단계에서,
상기 입력 데이터는, (i) 주주명부 파일, (ii) 상기 주주명부 파일에 대한 message digest, 또는 (iii) 상기 주주명부 파일 등록 당시 발급된 ID 중 어느 하나를 포함하는 것을 특징으로 하는 방법.19. The method of claim 18,
In the step (b)
Wherein the input data includes any one of (i) a shareholder list file, (ii) a message digest for the shareholder list file, or (iii) an ID issued at the time of registering the shareholder list file.
상기 제2 대표 해쉬값은, 제2 특정 해쉬값 - 상기 제2 특정 해쉬값은, 상기 검증 요청에 포함된 입력 데이터에 관한 (i) 주주명부 파일(A)에 대하여 상기 특정 회사의 private key 및 상기 서버의 private key로 서명한 결과의 해쉬값, (ii) 상기 주주명부 파일(A)을 상기 서버의 private key로 서명한 파일의 해쉬값, (iii) 상기 주주명부 파일(A)의 message digest에 대하여 상기 특정 회사의 private key 및 상기 서버의 private key로 인코딩된 결과의 해쉬값 및 (iv) 상기 주주명부 파일(A)의 message digest에 대하여 상기 서버의 private key로 인코딩된 결과의 해쉬값 중 어느 하나임 - 및 상기 제2 특정 해쉬값과 매칭되는 적어도 하나의 이웃 해쉬값을 연산함으로써 생성되는 것을 특징으로 하는 방법.19. The method of claim 18,
Wherein the second representative hash value is a second specific hash value, the second specific hash value is a private key of the particular company for the shareholder list file (A) related to the input data included in the verification request, and (Ii) a hash value of a file in which the shareholder list file (A) is signed with a private key of the server, (iii) a message digest of the shareholder list file (A) A hash value of a private key of the specific company and a hash value of a result of encoding the private key of the server, and (iv) a message digest of the shareholder list file (A) And computing at least one neighboring hash value that matches the second specific hash value.
상기 제2 대표 해쉬값은,
상기 제2 특정 해쉬값이 특정 리프 노드에 할당된 머클 트리(merkle tree)에서 상기 제2 특정 해쉬값 및 상기 제2 특정 해쉬값과 매칭되는 적어도 하나의 다른 리프 노드에 할당된 해쉬값을 연산하여 생성되는 것을 특징으로 하는 방법.23. The method of claim 22,
The second representative hash value is a value
The hash value assigned to at least one other leaf node matching the second specific hash value and the second specific hash value in the merkle tree allocated to the specific leaf node is calculated ≪ / RTI >
(x1) 상기 서버는, (i) 상기 제2 특정 해쉬값과 (ii) 상기 제2 특정 해쉬값이 할당된 노드의 형제 노드에 할당된 해쉬값을 연산하거나 연산하도록 지원하고, 상기 연산값에 대한 해쉬값을 상기 노드의 부모 노드에 할당하거나 할당하도록 지원하며,
(x2) 상기 부모 노드가 상기 머클 트리의 루트 노드이면, 상기 부모 노드에 할당된 해쉬값을 상기 제2 대표 해쉬값으로서 상기 OP 메시지에 포함된 값과 비교하거나 비교하도록 지원하고,
(x3) 상기 부모 노드가 상기 머클 트리의 루트 노드가 아니면, 상기 부모 노드에 할당된 해쉬값을 상기 제2 특정 해쉬값으로 하여 상기 (x1) 내지 (x3)를 반복하여 수행하는 것을 특징으로 하는 방법.24. The method of claim 23,
(x1) The server supports to calculate or calculate a hash value assigned to (i) the second specific hash value and (ii) a sibling node of the node to which the second specific hash value is assigned, To assign or assign a hash value to the parent node of the node,
(x2) if the parent node is the root node of the merge tree, compare the hash value assigned to the parent node with the value contained in the OP message as the second representative hash value,
(x3) If the parent node is not the root node of the merge tree, the step (x1) to (x3) are repeated by using the hash value assigned to the parent node as the second specific hash value Way.
서버가 주주명부 파일을 획득하거나 상기 주주명부 파일의 message digest를 획득하는 통신부, 및
상기 주주명부 파일이 획득되거나 상기 주주명부 파일의 message digest가 획득되고 소정의 조건이 만족되면, 특정 해쉬값 - 상기 특정 해쉬값은, (i) 상기 특정 회사의 private key 및 상기 서버의 private key로 서명된 상기 주주명부 파일의 해쉬값, (ii) 상기 서버의 private key로 서명된 상기 주주명부 파일의 해쉬값, (iii) 상기 특정 회사의 private key 및 상기 서버의 private key로 인코딩된 상기 message digest의 해쉬값 및 (iv) 상기 서버의 private key로 인코딩된 상기 message digest의 해쉬값 중 어느 하나임 - 및 상기 특정 해쉬값과 매칭되는 적어도 하나의 이웃 해쉬값을 연산함으로써 생성되는 대표 해쉬값 또는 상기 대표 해쉬값을 가공한 값을 데이터베이스에 등록하거나 등록하도록 지원하는 프로세서
를 포함하는 서버. A server for registering a shareholder list,
A communication unit for the server to acquire the shareholder file or acquire the message digest of the shareholder file; and
If the shareholder list file is obtained or a message digest of the shareholder list file is obtained and a predetermined condition is satisfied, then the specific hash value - (i) the private key of the specific company and the private key of the server (Ii) hash value of the shareholder list file signed with the private key of the server, (iii) private key of the specific company, and message digest And (iv) a hash value of the message digest encoded with the private key of the server, and a representative hash value generated by computing at least one neighbor hash value matching the specific hash value, Processor that supports registering or registering the processed value of the hash value in the database
/ RTI >
상기 소정의 조건은,
(i) 소정의 개수만큼의 주주명부 파일이 획득되거나 소정의 개수만큼의 message digest가 생성되는 조건, (ii) 소정 시간이 경과하는 조건, (iii) 블록 체인에서 블록이 생성되는 조건, (iv) 서비스 특성에 대한 조건 중 적어도 하나를 포함하는 것을 특징으로 하는 서버.26. The method of claim 25,
The predetermined condition is that,
(i) a condition that a predetermined number of shareholder file files are acquired or a predetermined number of message digests are generated, (ii) a condition that a predetermined time elapses, (iii) a condition in which a block is generated in a block chain, ) ≪ / RTI > service characteristic of the server.
상기 프로세서는,
상기 특정 해쉬값이 리프 노드에 할당된 머클 트리(merkle tree)를 생성하거나 생성하도록 지원하고,
상기 소정의 조건이 만족되면, 상기 특정 해쉬값과 매칭되는 적어도 하나의 다른 리프 노드에 할당된 해쉬값을 연산하여 생성되는 상기 대표 해쉬값 또는 상기 대표 해쉬값을 가공한 값을 상기 데이터베이스에 등록하거나 등록하도록 지원하는 것을 특징으로 하는 서버.26. The method of claim 25,
The processor comprising:
Wherein the particular hash value supports creating or generating a merkle tree assigned to a leaf node,
If the predetermined condition is satisfied, a value obtained by processing the representative hash value or the representative hash value generated by calculating a hash value assigned to at least one other leaf node matching the specified hash value is registered in the database Wherein the server is configured to:
상기 머클 트리가 체인 형태로 연결된 적어도 하나의 머클 트리 중 첫번째 머클 트리인 경우, 상기 머클 트리의 첫번째 리프 노드에는 텍스트, 숫자, 또는 기호로 이루어진 소정의 메시지 데이터의 해쉬값 또는 이를 가공한 값이 할당되는 것을 특징으로 하는 서버.28. The method of claim 27,
If the merge tree is the first merge tree among at least one merge tree connected in a chain form, the first leaf node of the merge tree is assigned a hash value of a predetermined message data composed of text, numbers, or symbols or a processed value thereof Lt; / RTI >
제1 사용자와 제2 사용자 간에 특정 회사의 주식 소유권에 대한 이전 거래 내역이 반영된 주주명부 파일을 획득하거나 상기 주주명부 파일의 message digest를 획득하는 통신부, 및
상기 주주명부 파일이 획득되거나 상기 주주명부 파일의 message digest가 획득되고 소정의 조건이 만족되면, 특정 해쉬값 - 상기 특정 해쉬값은, (i) 상기 특정 회사의 private key 및 상기 서버의 private key로 서명된 상기 주주명부 파일의 해쉬값, (ii) 상기 서버의 private key로 서명된 상기 주주명부 파일의 해쉬값, (iii) 상기 특정 회사의 private key 및 상기 서버의 private key로 인코딩된 상기 message digest의 해쉬값 및 (iv) 상기 서버의 private key로 인코딩된 상기 message digest의 해쉬값 중 어느 하나임 - 및 상기 특정 해쉬값과 매칭되는 적어도 하나의 이웃 해쉬값을 연산함으로써 생성되는 대표 해쉬값 또는 상기 대표 해쉬값을 가공한 값을 데이터베이스에 등록하거나 등록하도록 지원하는 프로세서
를 포함하는 서버.A server for recording stock ownership transfer,
A communication unit for obtaining a shareholder file reflecting the previous transaction details of the stock ownership of a specific company between the first user and the second user or acquiring a message digest of the shareholder list file;
If the shareholder list file is obtained or a message digest of the shareholder list file is obtained and a predetermined condition is satisfied, then the specific hash value - (i) the private key of the specific company and the private key of the server (Ii) hash value of the shareholder list file signed with the private key of the server, (iii) private key of the specific company, and message digest And (iv) a hash value of the message digest encoded with the private key of the server, and a representative hash value generated by computing at least one neighbor hash value matching the specific hash value, Processor that supports registering or registering the processed value of the hash value in the database
/ RTI >
상기 프로세서는,
상기 주식 소유권에 대한 이전 거래 내역을 나타내는 주식 소유권 이전 거래 정보가 획득되면, 상기 서버가, 상기 획득된 주식 소유권 이전 거래 정보와 관련된 정보가 진정한 것인지 확인하거나 확인하도록 지원하고,
상기 확인 결과가 참이면, 상기 주주명부 파일이 획득되거나 상기 주주명부 파일의 message digest가 획득되는 것을 특징으로 하는 서버.30. The method of claim 29,
The processor comprising:
When the stock ownership transfer transaction information indicating the previous transaction details of the stock ownership is acquired, the server assists the user to confirm or confirm whether the information related to the acquired stock ownership transfer transaction information is authentic,
If the confirmation result is true, the share list file is obtained or a message digest of the share list file is obtained.
상기 프로세서는,
상기 제1 사용자의 private key로 서명된 주식 소유권 이전 거래 정보(A 정보)가 획득되면, 상기 제1 사용자의 public key를 이용하여 상기 주식 소유권 이전 거래 정보를 확인하거나 확인하도록 지원하고,
상기 A 정보에 대하여 상기 제2 사용자의 private key로 서명된 정보가 획득되면, 상기 제1 사용자의 public key 및 상기 제2 사용자의 public key를 이용하여 상기 주식 소유권 이전 거래 정보를 확인하거나 확인하도록 지원하는 것을 특징으로 하는 서버.31. The method of claim 30,
The processor comprising:
When the stock ownership transfer transaction information (A information) signed with the private key of the first user is acquired, the stock ownership transfer transaction information is confirmed or confirmed using the public key of the first user,
When the information signed with the private key of the second user is obtained with respect to the A information, it is possible to confirm or confirm the stock ownership transfer transaction information using the public key of the first user and the public key of the second user Lt; / RTI >
상기 프로세서는, 상기 특정 해쉬값이 리프 노드에 할당된 머클 트리(merkle tree)를 생성하거나 생성하도록 지원하고,
상기 소정의 조건이 만족되면, 상기 특정 해쉬값과 매칭되는 적어도 하나의 다른 리프 노드에 할당된 해쉬값을 연산하여 생성되는 상기 대표 해쉬값 또는 상기 대표 해쉬값을 가공한 값을 상기 데이터베이스에 등록하거나 등록하도록 지원하는 것을 특징으로 하는 서버.30. The method of claim 29,
Wherein the processor is configured to support the particular hash value to generate or generate a merkle tree assigned to a leaf node,
If the predetermined condition is satisfied, a value obtained by processing the representative hash value or the representative hash value generated by calculating a hash value assigned to at least one other leaf node matching the specified hash value is registered in the database Wherein the server is configured to:
상기 머클 트리가 체인 형태로 연결된 적어도 하나의 머클 트리 중 첫번째 머클 트리인 경우, 상기 머클 트리의 첫번째 리프 노드에는 텍스트, 숫자, 또는 기호로 이루어진 소정의 메시지 데이터의 해쉬값 또는 이를 가공한 값이 할당되는 것을 특징으로 하는 서버.33. The method of claim 32,
If the merge tree is the first merge tree among at least one merge tree connected in a chain form, the first leaf node of the merge tree is assigned a hash value of a predetermined message data composed of text, numbers, or symbols or a processed value thereof Lt; / RTI >
등록된 주주명부 파일과 관련된 검증 요청을 획득하는 통신부, 및
기존에 상기 서버가 특정 회사의 주주명부 파일을 획득하거나 상기 주주명부 파일의 message digest를 획득하여, 제1 특정 해쉬값 - 상기 제1 특정 해쉬값은, (i) 상기 특정 회사의 private key 및 상기 서버의 private key로 서명된 상기 주주명부 파일의 해쉬값, (ii) 상기 서버의 private key로 서명된 상기 주주명부 파일의 해쉬값, (iii) 상기 특정 회사의 private key 및 상기 서버의 private key로 인코딩된 상기 message digest의 해쉬값 및 (iv) 상기 서버의 private key로 인코딩된 상기 message digest의 해쉬값 중 어느 하나임 - 과 소정의 조건 하에서 매칭되는 적어도 하나의 이웃 해쉬값을 연산함으로써 생성되는 제1 대표 해쉬값 또는 상기 제1 대표 해쉬값을 가공한 값을 데이터베이스에 등록하고 있는 상태에서, 상기 주주명부 파일과 관련된 검증 요청이 획득하고, 상기 검증 요청에 포함된 입력 데이터를 사용하여 생성된 제2 대표 해쉬값 또는 상기 제2 대표 해쉬값을 가공한 값이 상기 데이터베이스에 등록된 상기 제1 대표 해쉬값 또는 상기 제1 대표 해쉬값을 가공한 값과 대응되면, 상기 주주명부 파일과 관련된 검증이 이루어진 것으로 판단하거나 판단하도록 지원하는 프로세서
를 포함하는 서버.A server for verifying a registered shareholder list file,
A communication unit for obtaining a verification request related to the registered shareholder list file, and
The server obtains a shareholder list file of a specific company or obtains a message digest of the shareholder list file, and the first specific hash value - the first specific hash value is (i) a private key of the specific company and (Ii) a hash value of the shareholder list file signed with the private key of the server, (iii) a private key of the specific company, and a private key of the server. A hash value of the message digest encoded in the private key of the server and (iv) a hash value of the message digest encoded in the private key of the server. The first hash value is generated by computing at least one neighbor hash value, A verification request related to the shareholder list file is acquired in a state where a representative hash value or a value obtained by processing the first representative hash value is registered in the database, A second representative hash value generated using the included input data or a value obtained by processing the second representative hash value corresponds to a value obtained by processing the first representative hash value or the first representative hash value registered in the database A processor that assists in determining or determining that verification has been performed associated with the shareholder file,
/ RTI >
상기 프로세서는,
상기 주주명부 파일과 관련된 검증 요청이 획득되면, 상기 주주명부 파일과 관련된 소정의 transaction ID를 참조하고, 상기 transaction ID를 사용하여 상기 데이터베이스로부터 OP 메시지를 획득하며,
상기 검증 요청에 포함된 입력 데이터를 사용하여 생성된 상기 제2 대표 해쉬값 또는 상기 제2 대표 해쉬값을 가공한 값이 상기 OP 메시지에 포함된 상기 제1 대표 해쉬값 또는 상기 제1 대표 해쉬값을 가공한 값과 대응되면, 상기 주주명부 파일과 관련된 검증이 이루어진 것으로 판단하거나 판단하도록 지원하는 것을 특징으로 하는 서버.35. The method of claim 34,
The processor comprising:
Acquiring an OP message from the database using the transaction ID, referring to a predetermined transaction ID associated with the shareholder list file when a verification request related to the shareholder list file is obtained,
Wherein the value of the second representative hash value or the value of the second representative hash value generated using the input data included in the verification request is the first representative hash value or the first representative hash value The server determines whether or not the verification related to the shareholder list file has been performed.
상기 주주명부 파일과 관련된 검증 요청이 획득되면, 상기 프로세서는, 상기 입력 데이터와 관련된 머클 트리 정보 및 리프 노드 정보를 식별하고, 상기 식별된 머클 트리 정보에 대응되는 상기 소정의 transaction ID를 참조하는 것을 특징으로 하는 서버.
36. The method of claim 35,
When a verification request related to the shareholder list file is obtained, the processor identifies the merge tree information and leaf node information associated with the input data, and refers to the predetermined transaction ID corresponding to the identified merge tree information Server features.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160021166A KR101798119B1 (en) | 2016-02-23 | 2016-02-23 | Method and server for registering stockholder's list, recording transfer of stock ownership and verifying the registered stockholder's list file |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160021166A KR101798119B1 (en) | 2016-02-23 | 2016-02-23 | Method and server for registering stockholder's list, recording transfer of stock ownership and verifying the registered stockholder's list file |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170099154A true KR20170099154A (en) | 2017-08-31 |
KR101798119B1 KR101798119B1 (en) | 2017-11-16 |
Family
ID=59761289
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160021166A KR101798119B1 (en) | 2016-02-23 | 2016-02-23 | Method and server for registering stockholder's list, recording transfer of stock ownership and verifying the registered stockholder's list file |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101798119B1 (en) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107590659A (en) * | 2017-09-07 | 2018-01-16 | 中链科技有限公司 | Allocation of landownership and land use right data processing method, system and computer-readable recording medium |
KR101937188B1 (en) * | 2018-02-06 | 2019-04-09 | 주식회사 코인플러그 | Method for managing information using merkle tree based on blockchain, server and terminal using the same |
KR20190051366A (en) * | 2017-11-06 | 2019-05-15 | 주식회사 트루쇼트 | Method, system and non-transitory computer-readable recording medium for supporting securities short sale using distributed ledger |
WO2019240499A1 (en) * | 2018-06-12 | 2019-12-19 | 주식회사 트루쇼트 | Method and system for supporting short selling of marketable securities, and non-transitory computer-readeable recording medium |
CN111740915A (en) * | 2020-08-05 | 2020-10-02 | 百度在线网络技术(北京)有限公司 | Neighbor node determination method, device, equipment and storage medium |
CN112152981A (en) * | 2019-06-29 | 2020-12-29 | 华为技术有限公司 | Communication method, node and communication system |
KR20210057642A (en) * | 2019-11-12 | 2021-05-21 | 주식회사 코스콤 | Method for managing information of unlisted stocks and trading platform apparatus therefor |
CN117112573A (en) * | 2023-10-16 | 2023-11-24 | 中国科学技术大学 | Structural design method of data rights transfer record based on tree structure |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102305863B1 (en) * | 2019-11-13 | 2021-09-29 | (주)인프라케이 | Online testing and evaluation system by using blockchain platform and artificial intelligence, and method thereof |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000250408A (en) * | 1999-03-01 | 2000-09-14 | Ntt Data Corp | File authentication system, system and method for signature, system and method for authentication, and recording medium |
JP5958703B2 (en) * | 2012-08-23 | 2016-08-02 | セイコーインスツル株式会社 | Data certification system and data certification server |
-
2016
- 2016-02-23 KR KR1020160021166A patent/KR101798119B1/en active IP Right Grant
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107590659A (en) * | 2017-09-07 | 2018-01-16 | 中链科技有限公司 | Allocation of landownership and land use right data processing method, system and computer-readable recording medium |
KR20190051366A (en) * | 2017-11-06 | 2019-05-15 | 주식회사 트루쇼트 | Method, system and non-transitory computer-readable recording medium for supporting securities short sale using distributed ledger |
KR101937188B1 (en) * | 2018-02-06 | 2019-04-09 | 주식회사 코인플러그 | Method for managing information using merkle tree based on blockchain, server and terminal using the same |
WO2019240499A1 (en) * | 2018-06-12 | 2019-12-19 | 주식회사 트루쇼트 | Method and system for supporting short selling of marketable securities, and non-transitory computer-readeable recording medium |
KR20190140869A (en) * | 2018-06-12 | 2019-12-20 | 주식회사 트루쇼트 | Method, system and non-transitory computer-readable recording medium for supporting securities short sale |
CN112152981A (en) * | 2019-06-29 | 2020-12-29 | 华为技术有限公司 | Communication method, node and communication system |
CN112152981B (en) * | 2019-06-29 | 2021-11-19 | 华为技术有限公司 | Communication method, node and communication system |
KR20210057642A (en) * | 2019-11-12 | 2021-05-21 | 주식회사 코스콤 | Method for managing information of unlisted stocks and trading platform apparatus therefor |
CN111740915A (en) * | 2020-08-05 | 2020-10-02 | 百度在线网络技术(北京)有限公司 | Neighbor node determination method, device, equipment and storage medium |
CN117112573A (en) * | 2023-10-16 | 2023-11-24 | 中国科学技术大学 | Structural design method of data rights transfer record based on tree structure |
Also Published As
Publication number | Publication date |
---|---|
KR101798119B1 (en) | 2017-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101798119B1 (en) | Method and server for registering stockholder's list, recording transfer of stock ownership and verifying the registered stockholder's list file | |
US10491396B2 (en) | Method and server for providing notary service for file and verifying file recorded by notary service | |
US10235538B2 (en) | Method and server for providing notary service for file and verifying file recorded by notary service | |
US12170734B2 (en) | System and method for off-chain cryptographic transaction verification | |
US20170316497A1 (en) | Method for creating, registering, revoking authentication information and server using the same | |
KR101780634B1 (en) | Method and server for issueing and distributing stocks, and transfering the ownership of the stocks by using virtul money | |
CN110866755B (en) | A method, device and medium for processing bill data | |
US20200364212A1 (en) | System and method of supporting reflection of transactions between blockchain networks | |
CN109447636A (en) | A kind of assets transfer method and device | |
KR101978185B1 (en) | Method for managing license of software based on blockchain, and license management server using the same | |
KR101849920B1 (en) | Method for providing certificate service based on m of n multiple signatures in use of merkle tree structure and server using the same | |
KR101890584B1 (en) | Method for providing certificate service based on m of n multiple signatures and server using the same | |
KR101829731B1 (en) | Method and server for registering stockholder's list and recording transfer of stock ownership | |
CN108881261B (en) | Service authentication method and system based on block chain technology in container environment | |
KR20180041050A (en) | Method for providing certificate service based on m of n multiple signatures in use of merkle tree structure and server using the same | |
CN109067849A (en) | Method of data synchronization based on block | |
KR101890587B1 (en) | Method for providing certificate service based on m of n multiple signatures in use of merkle tree structure and server using the same | |
CN114912137A (en) | Vehicle reputation determination method and device based on vehicle operating state information | |
US20250062916A1 (en) | System and method for off-chain cryptographic transaction verification | |
KR20180041053A (en) | Method for providing certificate service based on m of n multiple signatures in use of merkle tree structure and server using the same | |
CN109063493A (en) | Decentralization high performance synchronous method | |
KR20180041051A (en) | Method for providing certificate service based on m of n multiple signatures and server using the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20160223 |
|
PA0201 | Request for examination | ||
A302 | Request for accelerated examination | ||
PA0302 | Request for accelerated examination |
Patent event date: 20160315 Patent event code: PA03022R01D Comment text: Request for Accelerated Examination Patent event date: 20160223 Patent event code: PA03021R01I Comment text: Patent Application |
|
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20160504 Patent event code: PE09021S01D |
|
E90F | Notification of reason for final refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Final Notice of Reason for Refusal Patent event date: 20161020 Patent event code: PE09021S02D |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20170208 |
|
PG1501 | Laying open of application | ||
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20171109 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20171110 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
PR1001 | Payment of annual fee |
Payment date: 20201027 Start annual number: 4 End annual number: 4 |
|
PR1001 | Payment of annual fee |
Payment date: 20211102 Start annual number: 5 End annual number: 5 |
|
PR1001 | Payment of annual fee |
Payment date: 20221013 Start annual number: 6 End annual number: 6 |
|
PR1001 | Payment of annual fee |
Payment date: 20231012 Start annual number: 7 End annual number: 7 |
|
PR1001 | Payment of annual fee |
Payment date: 20241024 Start annual number: 8 End annual number: 8 |