KR102389289B1 - Gold sales server for supporting purchase of gold with cashable points, and the operating method thereof - Google Patents
Gold sales server for supporting purchase of gold with cashable points, and the operating method thereof Download PDFInfo
- Publication number
- KR102389289B1 KR102389289B1 KR1020210027880A KR20210027880A KR102389289B1 KR 102389289 B1 KR102389289 B1 KR 102389289B1 KR 1020210027880 A KR1020210027880 A KR 1020210027880A KR 20210027880 A KR20210027880 A KR 20210027880A KR 102389289 B1 KR102389289 B1 KR 102389289B1
- Authority
- KR
- South Korea
- Prior art keywords
- gold
- weight
- token
- value
- bar
- Prior art date
Links
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
-
- 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/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
-
- 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/38—Payment protocols; Details thereof
- G06Q20/387—Payment using discounts or coupons
-
- 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
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
-
- 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/06—Asset management; Financial planning or analysis
Abstract
Description
본 발명은 현금성 포인트를 이용하여 금을 구매할 수 있도록 지원하는 금 판매 서버 및 그 동작 방법에 대한 것이다. The present invention relates to a gold sales server that supports the purchase of gold using cash points and a method for operating the same.
불안정한 경제 상황 속에서, 꾸준한 가치 상승이 기대되는 현물 자산에 관심을 보이는 사람들이 늘어나고 있다. 특히, 대출 규제 및 보유세 증가 등으로 인해 부동산 투자를 통한 기대 수익률이 감소하면서, 사람들은 부동산 외에 금, 다이아몬드와 같은 귀금속, 미술품, 기념주화 등의 거래에도 관심을 보이고 있다.Amid unstable economic conditions, more and more people are showing interest in spot assets, which are expected to see steady appreciation in value. In particular, as the expected return on real estate investment is decreasing due to loan regulations and increased holding tax, people are showing interest in trading in precious metals such as gold and diamonds, artworks, and commemorative coins in addition to real estate.
이러한 현물 자산 중에서도 특히, 금은 전세계적으로 안전 자산으로 평가받고 있으며, 경제가 어려워짐에 따라, 많은 사람들이 금의 구매에 관심을 보이고 있다.Among these spot assets, gold, in particular, is regarded as a safe asset worldwide, and as the economy becomes difficult, many people are showing interest in purchasing gold.
하지만 기존에는, 사람들이 금을 구매하고자 하는 경우, 금을 판매하는 금 거래소를 검색하고, 해당 금 거래소에 직접 방문해야 하는 등의 번거로움이 존재했었다.However, in the past, when people want to purchase gold, there has been a hassle, such as searching for a gold exchange that sells gold, and directly visiting the gold exchange.
한편 최근에는, 신용카드 사용 실적에 따라 적립되는 포인트 등과 같이 현금성 포인트에 대한 관심도 증가하고 있다는 점에서, 현금성 포인트를 보유하고 있는 회원들에 대해, 각 회원이 보유하고 있는 현금성 포인트를 이용하여 금을 구매할 수 있도록 지원하는 서비스가 도입된다면, 회원들이 보다 편리하게 금을 구매할 수 있도록 지원할 수 있을 것이다.Meanwhile, in recent years, interest in cash equivalent points, such as points accumulated according to credit card usage performance, is also increasing. If a service to support purchasing is introduced, it will be possible to support members to purchase gold more conveniently.
따라서, 현금성 포인트를 보유하고 있는 회원들에 대해, 보다 편리하게 금을 구매할 수 있도록 지원하기 위해, 각 회원이 보유하고 있는 현금성 포인트를 이용하여 금을 구매할 수 있도록 지원하는 기술에 대한 연구가 필요하다. Therefore, in order to support members with cash equivalent points to purchase gold more conveniently, it is necessary to study a technology that supports each member to purchase gold using cash equivalent points possessed by each member. .
본 발명은 복수의 회원들 각각의 회원 식별 정보, 복수의 회원들 각각이 보유하고 있는 금의 무게 정보 및 복수의 회원들 각각이 보유하고 있는 현금성 포인트 정보를 회원 정보 데이터베이스에 사전 저장하고 있는 상태에서, 복수의 회원들 중 어느 한 명인 제1 회원의 전자 단말로부터 제1 무게만큼의 금 구매 요청이 수신되면, 사전 설정된 단위 무게 당 금 판매 단가를 기초로, 제1 무게만큼의 금에 대한 판매 금액을 확인한 후, 제1 회원이 보유하고 있는 현금성 포인트 정보에서, 제1 회원이 보유하고 있는 현금성 포인트를 제1 금액만큼 차감하고, 제1 회원이 보유하고 있는 금의 무게 정보에서, 제1 회원이 보유하고 있는 금의 무게를 제1 무게만큼 증가시킴으로써, 회원 정보 데이터베이스를 갱신하고, 제1 회원의 전자 단말로 제1 무게만큼의 금에 대한 구매 완료 메시지를 전송하는 금 판매 서버 및 그 동작 방법을 제시함으로써, 복수의 회원들에 대해, 각 회원이 보유하고 있는 현금성 포인트를 이용하여 보다 편리하게 금을 구매할 수 있도록 지원하고자 한다. In the present invention, the member identification information of each of a plurality of members, information on the weight of gold held by each of the plurality of members, and cashable point information held by each of the plurality of members are stored in advance in the member information database. , when a request to purchase gold by the first weight is received from the electronic terminal of the first member, which is one of the plurality of members, the sales amount for the first weight of gold based on the preset unit price of gold per unit weight After confirming, from the cashable point information held by the first member, the cashable point held by the first member is deducted by the first amount, and from the weight of gold held by the first member, the first member A gold sales server for updating a member information database by increasing the weight of gold held by a first weight, and transmitting a purchase completion message for a first weight of gold to an electronic terminal of a first member, and an operating method thereof By presenting, we want to support a plurality of members so that they can purchase gold more conveniently by using the cashable points each member has.
본 발명의 일실시예에 따른 현금성 포인트를 이용하여 금을 구매할 수 있도록 지원하는 금 판매 서버는 사전 설정된 단위 무게 당 금 판매 단가가 기록되어 있는 판매 단가 테이블을 저장하여 유지하는 테이블 유지부, 복수의 회원들 각각의 회원 식별 정보, 상기 복수의 회원들 각각이 보유하고 있는 금의 무게 정보 및 상기 복수의 회원들 각각이 보유하고 있는 현금성 포인트 정보가 저장되어 있는 회원 정보 데이터베이스, 상기 복수의 회원들 중 어느 한 명인 제1 회원의 전자 단말로부터 제1 무게만큼의 금 구매 요청이 수신되면, 상기 제1 회원의 전자 단말에 대한 인증을 수행한 후, 상기 판매 단가 테이블을 참조하여 상기 제1 무게만큼의 금에 대한 판매 금액을 확인하는 금액 확인부, 상기 제1 무게만큼의 금에 대한 판매 금액이 제1 금액인 것으로 확인되면, 상기 회원 정보 데이터베이스에 저장되어 있는 상기 제1 회원이 보유하고 있는 현금성 포인트 정보에서, 상기 제1 회원이 보유하고 있는 현금성 포인트를 상기 제1 금액만큼 차감하고, 상기 회원 정보 데이터베이스에 저장되어 있는 상기 제1 회원이 보유하고 있는 금의 무게 정보에서, 상기 제1 회원이 보유하고 있는 금의 무게를 상기 제1 무게만큼 증가시킴으로써, 상기 회원 정보 데이터베이스를 갱신하는 제1 데이터베이스 갱신부 및 상기 회원 정보 데이터베이스가 갱신되면, 상기 제1 회원의 전자 단말로 상기 제1 무게만큼의 금에 대한 구매가 완료되었음을 지시하는 구매 완료 메시지를 전송하는 메시지 전송부를 포함한다. The gold sales server supporting the purchase of gold using cash points according to an embodiment of the present invention includes a table maintaining unit that stores and maintains a sales unit price table in which a preset unit weight of gold is recorded, and a plurality of Member identification information of each member, weight information of gold held by each of the plurality of members, and a member information database in which cashable points information held by each of the plurality of members are stored, among the plurality of members When a request to purchase gold equal to the first weight is received from the electronic terminal of a first member, the first member's electronic terminal is authenticated, and then, the amount of gold equal to the first weight is obtained by referring to the sales unit price table. An amount checking unit for checking the sales amount for gold, if it is confirmed that the sales amount for gold equal to the first weight is the first amount, cash points held by the first member stored in the member information database In the information, the cashable points held by the first member are deducted by the first amount, and in the weight information of the gold held by the first member stored in the member information database, the first member holds A first database update unit that updates the member information database by increasing the weight of gold by the first weight, and when the member information database is updated, the first weight of gold equal to the first weight is sent to the electronic terminal of the first member and a message transmission unit for transmitting a purchase completion message indicating that the purchase has been completed.
또한, 본 발명의 일실시예에 따른 현금성 포인트를 이용하여 금을 구매할 수 있도록 지원하는 금 판매 서버의 동작 방법은 사전 설정된 단위 무게 당 금 판매 단가가 기록되어 있는 판매 단가 테이블을 저장하여 유지하는 단계, 복수의 회원들 각각의 회원 식별 정보, 상기 복수의 회원들 각각이 보유하고 있는 금의 무게 정보 및 상기 복수의 회원들 각각이 보유하고 있는 현금성 포인트 정보가 저장되어 있는 회원 정보 데이터베이스를 유지하는 단계, 상기 복수의 회원들 중 어느 한 명인 제1 회원의 전자 단말로부터 제1 무게만큼의 금 구매 요청이 수신되면, 상기 제1 회원의 전자 단말에 대한 인증을 수행한 후, 상기 판매 단가 테이블을 참조하여 상기 제1 무게만큼의 금에 대한 판매 금액을 확인하는 단계, 상기 제1 무게만큼의 금에 대한 판매 금액이 제1 금액인 것으로 확인되면, 상기 회원 정보 데이터베이스에 저장되어 있는 상기 제1 회원이 보유하고 있는 현금성 포인트 정보에서, 상기 제1 회원이 보유하고 있는 현금성 포인트를 상기 제1 금액만큼 차감하고, 상기 회원 정보 데이터베이스에 저장되어 있는 상기 제1 회원이 보유하고 있는 금의 무게 정보에서, 상기 제1 회원이 보유하고 있는 금의 무게를 상기 제1 무게만큼 증가시킴으로써, 상기 회원 정보 데이터베이스를 갱신하는 단계 및 상기 회원 정보 데이터베이스가 갱신되면, 상기 제1 회원의 전자 단말로 상기 제1 무게만큼의 금에 대한 구매가 완료되었음을 지시하는 구매 완료 메시지를 전송하는 단계를 포함한다. In addition, according to an embodiment of the present invention, the operating method of the gold sales server supporting the purchase of gold using cash points includes the steps of storing and maintaining a sales unit price table in which a preset unit price of gold per unit weight is recorded. , maintaining a member information database in which member identification information of each of a plurality of members, weight information of gold held by each of the plurality of members, and cashable point information held by each of the plurality of members are stored , when a request to purchase gold equal to a first weight is received from the electronic terminal of a first member, which is one of the plurality of members, authentication is performed on the electronic terminal of the first member, and then the sales unit price table is referred to check the sales amount for gold by the first weight. When it is confirmed that the sales amount for gold by the first weight is the first amount, the first member stored in the member information database From the cashable point information held, the cashable points held by the first member are subtracted by the first amount, and from the weight information of the gold held by the first member stored in the member information database, the updating the member information database by increasing the weight of gold held by the first member by the first weight; and transmitting a purchase completion message indicating that the purchase of gold has been completed.
본 발명은 복수의 회원들 각각의 회원 식별 정보, 복수의 회원들 각각이 보유하고 있는 금의 무게 정보 및 복수의 회원들 각각이 보유하고 있는 현금성 포인트 정보를 회원 정보 데이터베이스에 사전 저장하고 있는 상태에서, 복수의 회원들 중 어느 한 명인 제1 회원의 전자 단말로부터 제1 무게만큼의 금 구매 요청이 수신되면, 사전 설정된 단위 무게 당 금 판매 단가를 기초로, 제1 무게만큼의 금에 대한 판매 금액을 확인한 후, 제1 회원이 보유하고 있는 현금성 포인트 정보에서, 제1 회원이 보유하고 있는 현금성 포인트를 제1 금액만큼 차감하고, 제1 회원이 보유하고 있는 금의 무게 정보에서, 제1 회원이 보유하고 있는 금의 무게를 제1 무게만큼 증가시킴으로써, 회원 정보 데이터베이스를 갱신하고, 제1 회원의 전자 단말로 제1 무게만큼의 금에 대한 구매 완료 메시지를 전송하는 금 판매 서버 및 그 동작 방법을 제시함으로써, 복수의 회원들에 대해, 각 회원이 보유하고 있는 현금성 포인트를 이용하여 보다 편리하게 금을 구매할 수 있도록 지원할 수 있다. In the present invention, the member identification information of each of a plurality of members, information on the weight of gold held by each of the plurality of members, and cashable point information held by each of the plurality of members are stored in advance in the member information database. , when a request to purchase gold by the first weight is received from the electronic terminal of the first member, which is one of the plurality of members, the sales amount for the first weight of gold based on the preset unit price of gold per unit weight After confirming, from the cashable point information held by the first member, the cashable point held by the first member is deducted by the first amount, and from the weight of gold held by the first member, the first member A gold sales server for updating a member information database by increasing the weight of gold held by a first weight, and transmitting a purchase completion message for a first weight of gold to an electronic terminal of a first member, and an operating method thereof By presenting, it is possible to support a plurality of members so that they can purchase gold more conveniently by using the cashable points held by each member.
도 1은 본 발명의 일실시예에 따른 현금성 포인트를 이용하여 금을 구매할 수 있도록 지원하는 금 판매 서버의 구조를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 현금성 포인트를 이용하여 금을 구매할 수 있도록 지원하는 금 판매 서버의 동작 방법을 도시한 순서도이다. 1 is a diagram illustrating the structure of a gold sales server that supports the purchase of gold using cashable points according to an embodiment of the present invention.
FIG. 2 is a flowchart illustrating an operation method of a gold selling server that supports to purchase gold using cashable points according to an embodiment of the present invention.
이하에서는 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명하기로 한다. 이러한 설명은 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였으며, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 본 명세서 상에서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 사람에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.Hereinafter, embodiments according to the present invention will be described in detail with reference to the accompanying drawings. These descriptions are not intended to limit the present invention to specific embodiments, and should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention. While describing each drawing, like reference numerals are used for similar components, and unless otherwise defined, all terms used in this specification, including technical or scientific terms, refer to those of ordinary skill in the art to which the present invention belongs. It has the same meaning as is commonly understood by those who have it.
본 문서에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있다는 것을 의미한다. 또한, 본 발명의 다양한 실시예들에 있어서, 각 구성요소들, 기능 블록들 또는 수단들은 하나 또는 그 이상의 하부 구성요소로 구성될 수 있고, 각 구성요소들이 수행하는 전기, 전자, 기계적 기능들은 전자회로, 집적회로, ASIC(Application Specific Integrated Circuit) 등 공지된 다양한 소자들 또는 기계적 요소들로 구현될 수 있으며, 각각 별개로 구현되거나 2 이상이 하나로 통합되어 구현될 수도 있다. In this document, when a part "includes" a certain component, it means that other components may be further included, rather than excluding other components, unless otherwise stated. In addition, in various embodiments of the present invention, each of the components, functional blocks or means may be composed of one or more sub-components, and the electrical, electronic, and mechanical functions performed by each component are electronic. A circuit, an integrated circuit, an ASIC (Application Specific Integrated Circuit), etc. may be implemented as various well-known devices or mechanical elements, and may be implemented separately or two or more may be integrated into one.
한편, 첨부된 블록도의 블록들이나 흐름도의 단계들은 범용 컴퓨터, 특수용 컴퓨터, 휴대용 노트북 컴퓨터, 네트워크 컴퓨터 등 데이터 프로세싱이 가능한 장비의 프로세서나 메모리에 탑재되어 지정된 기능들을 수행하는 컴퓨터 프로그램 명령들(instructions)을 의미하는 것으로 해석될 수 있다. 이들 컴퓨터 프로그램 명령들은 컴퓨터 장치에 구비된 메모리 또는 컴퓨터에서 판독 가능한 메모리에 저장될 수 있기 때문에, 블록도의 블록들 또는 흐름도의 단계들에서 설명된 기능들은 이를 수행하는 명령 수단을 내포하는 제조물로 생산될 수도 있다. 아울러, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 명령들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 가능한 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 정해진 순서와 달리 실행되는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 실질적으로 동시에 수행되거나, 역순으로 수행될 수 있으며, 경우에 따라 일부 블록들 또는 단계들이 생략된 채로 수행될 수도 있다.On the other hand, the blocks in the accompanying block diagram or steps in the flowchart are computer program instructions that are loaded in a processor or memory of equipment capable of data processing, such as a general-purpose computer, a special-purpose computer, a portable notebook computer, and a network computer, and perform specified functions. can be interpreted as meaning Since these computer program instructions may be stored in a memory provided in a computer device or in a memory readable by a computer, the functions described in the blocks of the block diagrams or the steps of the flowcharts are produced as articles of manufacture containing instruction means for performing the same. it might be In addition, each block or each step may represent a module, segment, or portion of code comprising one or more executable instructions for executing the specified logical function(s). It should also be noted that, in some alternative embodiments, it is also possible for the functions recited in blocks or steps to be executed out of the prescribed order. For example, two blocks or steps shown one after another may be performed substantially simultaneously or in the reverse order, and in some cases, some blocks or steps may be omitted.
도 1은 본 발명의 일실시예에 따른 현금성 포인트를 이용하여 금을 구매할 수 있도록 지원하는 금 판매 서버의 구조를 도시한 도면이다. 1 is a diagram illustrating the structure of a gold sales server that supports the purchase of gold using cashable points according to an embodiment of the present invention.
도 1을 참조하면, 금 판매 서버(110)는 테이블 유지부(111), 회원 정보 데이터베이스(112), 금액 확인부(113), 제1 데이터베이스 갱신부(114) 및 메시지 전송부(115)를 포함한다. Referring to FIG. 1 , the
테이블 유지부(111)는 사전 설정된 단위 무게 당 금 판매 단가가 기록되어 있는 판매 단가 테이블을 저장하여 유지한다. 참고로, 설명의 편의를 위해 본 명세서에서 언급되는 금은 모두 일정한 순도를 갖는 금인 것으로 가정한다.The
관련해서, 상기 판매 단가 테이블에는 하기의 표 1과 같은 정보가 기록되어 있을 수 있다.In relation to this, information as shown in Table 1 below may be recorded in the unit price table.
회원 정보 데이터베이스(112)에는 복수의 회원들 각각의 회원 식별 정보, 상기 복수의 회원들 각각이 보유하고 있는 금의 무게 정보 및 상기 복수의 회원들 각각이 보유하고 있는 현금성 포인트 정보가 저장되어 있다. The
예컨대, 회원 정보 데이터베이스(112)에는 하기의 표 2와 같은 정보가 저장되어 있을 수 있다. For example, information as shown in Table 2 below may be stored in the
금의 무게weight of gold
현금성 포인트cash points
금액 확인부(113)는 상기 복수의 회원들 중 어느 한 명인 제1 회원(140)의 전자 단말(141)로부터 제1 무게만큼의 금 구매 요청이 수신되면, 제1 회원(140)의 전자 단말(141)에 대한 인증을 수행한 후, 상기 판매 단가 테이블을 참조하여 상기 제1 무게만큼의 금에 대한 판매 금액을 확인한다. When a request to purchase gold equal to a first weight is received from the
제1 데이터베이스 갱신부(114)는 금액 확인부(113)에 의해 상기 제1 무게만큼의 금에 대한 판매 금액이 제1 금액인 것으로 확인되면, 회원 정보 데이터베이스(112)에 저장되어 있는 제1 회원(140)이 보유하고 있는 현금성 포인트 정보에서, 제1 회원(140)이 보유하고 있는 현금성 포인트를 상기 제1 금액만큼 차감하고, 회원 정보 데이터베이스(112)에 저장되어 있는 제1 회원(140)이 보유하고 있는 금의 무게 정보에서, 제1 회원(140)이 보유하고 있는 금의 무게를 상기 제1 무게만큼 증가시킴으로써, 회원 정보 데이터베이스(112)를 갱신한다. The first
메시지 전송부(115)는 제1 데이터베이스 갱신부(114)에 의해 회원 정보 데이터베이스(112)가 갱신되면, 제1 회원(140)의 전자 단말(141)로 상기 제1 무게만큼의 금에 대한 구매가 완료되었음을 지시하는 구매 완료 메시지를 전송한다. When the
이하에서는, 금액 확인부(113), 제1 데이터베이스 갱신부(114) 및 메시지 전송부(115)의 동작을 예를 들어, 상세히 설명하기로 한다. Hereinafter, operations of the
먼저, 제1 회원(140)을 '회원 3'(140)'이라고 하고, 제1 무게를 '2g'이라고 하며, '회원 3'(140)의 전자 단말(141)로부터 '2g'만큼의 금에 대한 금 구매 요청이 수신되었다고 하는 경우, 금액 확인부(113)는 '회원 3'(140)의 전자 단말(141)에 대한 인증을 수행한 후, 상기 판매 단가 테이블을 참조하여 '2g'만큼의 금에 대한 판매 금액을 확인할 수 있다. First, the
관련해서, 상기 표 1과 같은 판매 단가 테이블에서는, '1g'당 금 판매 단가가 '64,000원'인 것으로 기록되어 있으므로, 금액 확인부(113)는 상기 표 1과 같은 판매 단가 테이블을 참조하여, '2g'만큼의 금에 대한 판매 금액인 제1 금액을 '128,000원'인 것으로 확인할 수 있다. In relation to this, in the unit price table as shown in Table 1, since the unit price of gold per '1g' is recorded as '64,000 won', the
그러면, 제1 데이터베이스 갱신부(114)는 상기 표 2와 같은 회원 정보 데이터베이스(112)에 저장되어 있는 '회원 3'(140)이 보유하고 있는 현금성 포인트 정보에서, '회원 3'(140)이 보유하고 있는 현금성 포인트를 '128,000원'만큼 차감하고, 상기 표 2와 같은 회원 정보 데이터베이스(112)에 저장되어 있는 '회원 3'(140)이 보유하고 있는 금의 무게 정보에서, '회원 3'(140)가 보유하고 있는 금의 무게를 '2g'만큼 증가시킴으로써, 회원 정보 데이터베이스(112)를 하기의 표 3과 같이 갱신할 수 있다. Then, the first
그 이후, 메시지 전송부(115)는 '회원 3'(140)의 전자 단말(141)로 '2g'만큼의 금에 대한 구매가 완료되었음을 지시하는 구매 완료 메시지를 전송할 수 있다. Thereafter, the
이때, 본 발명의 일실시예에 따르면, 금액 확인부(113)는 상기 판매 단가 테이블을 참조하여 상기 제1 무게만큼의 금에 대한 판매 금액을 확인하기 전에, 제1 회원(140)의 전자 단말(141)에 대한 인증을 수행하기 위한 구체적인 구성으로, OTP 저장부(125), 인증용 숫자 저장부(126), 인증 이벤트 발생부(127), 연산 값 산출부(128), 랜덤 생성부(129), 피드백 값 요청부(130), 확인부(131) 및 인증 완료부(132)를 포함할 수 있다. At this time, according to an embodiment of the present invention, the
먼저, OTP 저장부(125)에는 제1 회원(140)의 전자 단말(141)과 사전 공유하고 있는 사전 설정된 제1 OTP(One Time Password) 생성 함수와 사전 설정된 제2 OTP 생성 함수가 저장되어 있다. First, the
여기서, OTP란 고정된 패스워드 대신 무작위로 생성되는 일회용 인증 번호를 의미하고, 상기 제1 OTP 생성 함수와 상기 제2 OTP 생성 함수는 개발자에 의해 사전 설정될 수 있는 함수이다.Here, OTP means a one-time authentication number that is randomly generated instead of a fixed password, and the first OTP generating function and the second OTP generating function are functions that can be preset by a developer.
인증용 숫자 저장부(126)에는 제1 회원(140)의 전자 단말(141)과 사전 공유하고 있는 사전 설정된 제1 인증용 숫자 m(m은 2 이상의 자연수임)과 사전 설정된 제2 인증용 숫자 k(k는 m과 다른 2 이상의 자연수임)가 저장되어 있다. In the authentication
예컨대, 제1 회원(140)의 전자 단말(141)과 사전 설정된 제1 인증용 숫자를 4'라고 하고, 사전 설정된 제2 인증용 숫자를 '3'이라고 하는 경우, 인증용 숫자 저장부(126)에는 상기 제1 인증용 숫자 '4'와 상기 제2 인증용 숫자 '3'이 저장되어 있을 수 있다.For example, when the
인증 이벤트 발생부(127)는 제1 회원(140)의 전자 단말(141)로부터 상기 제1 무게만큼의 금 구매 요청이 수신되면, 제1 회원(140)의 전자 단말(141)에 대한 인증을 수행하기 위한 인증 이벤트를 발생시킨다. When a request to purchase gold equal to the first weight is received from the
연산 값 산출부(128)는 인증 이벤트 발생부(127)에 의해 상기 인증 이벤트가 발생되면, 상기 제1 OTP 생성 함수를 기초로 제1 일회용 인증 번호를 생성한 후, 상기 제1 일회용 인증 번호를 피제수로, 상기 제1 인증용 숫자 m을 제수로 하는 모듈로(Modulo) 연산을 수행함으로써, 제1 연산 값 x를 산출하고, 상기 제2 OTP 생성 함수를 기초로 제2 일회용 인증 번호를 생성한 후 상기 제2 일회용 인증 번호를 피제수로, 상기 제2 인증용 숫자 k를 제수로 하는 모듈로 연산을 수행함으로써, 제2 연산 값 y를 산출한다. When the authentication event is generated by the authentication
여기서, 모듈로 연산은 피제수를 제수로 나누는 나눗셈을 수행하여 그에 대한 나머지(remainder)를 산출하는 연산을 의미한다.Here, the modulo operation refers to an operation of dividing a dividend by a divisor to calculate a remainder thereof.
랜덤 생성부(129)는 랜덤한 성분 값들로 구성된 m x k의 크기를 갖는 랜덤 행렬을 생성하고, 제1 랜덤 값을 랜덤하게 생성한다. The
피드백 값 요청부(130)는 상기 랜덤 행렬에서 (x+1)행(y+1)열에 위치하는 성분을 상기 제1 랜덤 값으로 치환함으로써, m x k의 크기를 갖는 치환 행렬을 생성하고, 제1 회원(140)의 전자 단말(141)로 상기 치환 행렬을 전송하면서, 상기 치환 행렬에 대응되는 피드백 값의 전송을 요청한다. The feedback
이하에서는, 연산 값 산출부(128), 랜덤 생성부(129) 및 피드백 값 요청부(130)의 동작을 예를 들어, 상세히 설명하기로 한다. Hereinafter, the operations of the calculated
먼저, 전술한 예와 같이, '회원 3'(140)의 전자 단말(141)로부터 '2g'만큼의 금에 대한 금 구매 요청이 수신됨에 따라, 인증 이벤트 발생부(127)에 의해 '회원 3'(140)의 전자 단말(141)에 대한 인증을 수행하기 위한 인증 이벤트가 발생되었다고 가정하자. First, as in the above-described example, when a gold purchase request for '2g' of gold is received from the
또한, 연산 값 산출부(128)에 의해, 상기 제1 OTP 생성 함수를 기초로 제1 일회용 인증 번호가 '921230'과 같이 생성되었다고 하고, 상기 제2 OTP 생성 함수를 기초로 제2 일회용 인증 번호가 '150901'과 같이 생성되었다고 가정하자. In addition, it is assumed that the first one-time authentication number is generated as '921230' based on the first OTP generation function by the calculation
그러면, 연산 값 산출부(128)는 '921230'을 피제수로, 상기 제1 인증용 숫자인 '4'를 제수로 하는 모듈로 연산을 수행함으로써, 제1 연산 값을 '2'와 같이 산출할 수 있고, '150901'을 피제수로, 상기 제1 인증용 숫자인 '3'을 제수로 하는 모듈로 연산을 수행함으로써, 제2 연산 값을 '1'과 같이 산출할 수 있다.Then, the operation
그러고 나서, 랜덤 생성부(129)는 '4 x 3' 크기의 랜덤 행렬을 ''과 같이 생성할 수 있고, 제1 랜덤 값을 'R'과 같이 생성할 수 있다. Then, the
그러면, 피드백 값 요청부(130)는 상기 랜덤 행렬에서 (2+1)행(1+1)열에 위치하는 성분인 ''를 'R'로 치환함으로써, '4 x 3' 크기의 치환 행렬을 ''과 같이 생성한 후, '회원 3'(140)의 전자 단말(141)로 상기 치환 행렬을 전송하면서, 상기 치환 행렬에 대응되는 피드백 값의 전송을 요청할 수 있다. Then, the feedback value requesting unit 130 ' By substituting 'R' for ', a permutation matrix of size '4 x 3' can be converted to ' ', it is possible to request transmission of a feedback value corresponding to the substitution matrix while transmitting the substitution matrix to the
이때, 본 발명의 일실시예에 따르면, 상기 제1 회원(140)의 전자 단말(141)은 메모리 상에 상기 제1 OTP 생성 함수, 상기 제2 OTP 생성 함수, 상기 제1 인증용 숫자 m 및 상기 제2 인증용 숫자 k를 사전 저장하고 있을 수 있고, 금 판매 서버(110)로부터 상기 치환 행렬이 수신되면, 상기 제1 OTP 생성 함수를 기초로 상기 제1 일회용 인증 번호를 생성한 후, 상기 제1 일회용 인증 번호를 피제수로, 상기 제1 인증용 숫자 m을 제수로 하는 모듈로 연산을 수행함으로써, 상기 제1 연산 값 x를 산출하고, 상기 제2 OTP 생성 함수를 기초로 상기 제2 일회용 인증 번호를 생성한 후, 상기 제2 일회용 인증 번호를 피제수로, 상기 제2 인증용 숫자 k를 제수로 하는 모듈로 연산을 수행함으로써, 상기 제2 연산 값 y를 산출하며, 상기 제1 연산 값 x와 상기 제2 연산 값 y를 기초로, 상기 치환 행렬에서 (x+1)행(y+1)열에 위치하는 성분 값을 상기 제1 피드백 값으로 추출한 후, 상기 제1 피드백 값을 금 판매 서버(110)로 전송할 수 있다. At this time, according to an embodiment of the present invention, the
예컨대, 전술한 예와 같이, 제1 회원(140)을 '회원 3'(140)이라고 하고, 상기 제1 인증용 숫자를 '4', 상기 제1 인증용 숫자를 '3'이라고 하는 경우, '회원 3'(140)의 전자 단말(141)의 메모리 상에는 상기 제1 OTP 생성 함수, 상기 제2 OTP 생성 함수, 상기 제1 인증용 숫자 '4' 및 상기 제2 인증용 숫자 '3'이 저장되어 있을 수 있다, For example, as in the above example, when the
또한, 전술한 예와 같이, 금 판매 서버(110)가 '회원 3'(140)의 전자 단말(141)로 ''과 같은 상기 치환 행렬을 전송하면서, 상기 치환 행렬에 대응되는 피드백 값의 전송을 요청함에 따라, '회원 3'(140)의 전자 단말(141)에 상기 치환 행렬이 수신되었다고 가정하자. In addition, as in the above-described example, the gold selling server 110 'to the
그러면, '회원 3'(140)의 전자 단말(141)은 상기 제1 OTP 생성 함수를 기초로 상기 제1 일회용 인증 번호를 '921230'과 같이 생성한 후, '921230'을 피제수로, 상기 제1 인증용 숫자인 '4'를 제수로 하는 모듈로 연산을 수행함으로써, 상기 제1 연산 값을 '2'와 같이 산출할 수 있고, 상기 제2 OTP 생성 함수를 기초로 상기 제2 일회용 인증 번호를 '150901'과 같이 생성한 후, '150901'을 피제수로, 상기 제1 인증용 숫자인 '3'을 제수로 하는 모듈로 연산을 수행함으로써, 상기 제2 연산 값을 '1'과 같이 산출할 수 있다.Then, the
그러고 나서, '회원 3'(140)의 전자 단말(141)은 상기 치환 행렬에서 (2+1)행 (1+1)열에 위치하는 성분 값인 'R'을 상기 제1 피드백 값으로 추출하여 금 판매 서버(110)로 전송할 수 있다. Then, the
이에 따라, 금 판매 서버(110)에 상기 치환 행렬에 대응되는 피드백 값으로 제1 피드백 값이 수신되면, 확인부(131)는 상기 제1 피드백 값이 상기 제1 랜덤 값과 일치하는지 여부를 확인한다. Accordingly, when the
인증 완료부(132)는 확인부(131)에 의해 상기 제1 피드백 값이 상기 제1 랜덤 값과 일치하는 것으로 확인되면, 제1 회원(140)의 전자 단말(141)에 대한 인증을 완료한다. When it is confirmed by the
이하에서는, 확인부(131) 및 인증 완료부(132)의 동작을 예를 들어, 상세히 설명하기로 한다. Hereinafter, the operation of the
먼저, 전술한 예와 같이, '회원 3'(140)의 전자 단말(141)이 상기 치환 행렬에서 추출된 'R'을 금 판매 서버(110)로 전송함에 따라, 금 판매 서버(110)에 'R'이 수신되었다고 하는 경우, 확인부(131)는 'R'을 상기 제1 랜덤 값과 비교하여 'R'이 상기 제1 랜덤 값과 일치하는 것으로 확인할 수 있다. First, as in the above example, as the
이때, 'R'이 상기 제1 랜덤 값과 일치한다는 것은, '회원 3'(140)의 전자 단말(141)에 금 판매 서버(110)와 사전 공유하고 있는 상기 제1 OTP 생성 함수, 상기 제2 OTP 생성 함수, 상기 제1 인증용 숫자 및 상기 제2 인증용 숫자가 저장되어 있다는 의미이므로, 인증 완료부(132)는 '회원 3'(140)의 전자 단말(141)에 대한 인증을 완료할 수 있고, 그러면, 금액 확인부(113)는 상기 판매 단가 테이블을 참조하여 상기 제1 무게만큼의 금에 대한 판매 금액의 확인을 진행할 수 있다. In this case, that 'R' matches the first random value means that the first OTP generation function shared with the
또한, 금 판매 서버(110)는 블록체인을 기반으로 복수의 회원들의 금 거래에 관련된 데이터를 저장 및 관리함으로써, 금 판매 서버(110)를 통한 상기 복수의 회원들의 금 거래에 대한 신뢰성과 안전성을 증대시킬 수 있다. In addition, the
이와 관련해서, 본 발명의 일실시예에 따르면, 금 판매 서버(110)는 트랜잭션 생성부(116) 및 등록 요청부(117)를 더 포함할 수 있다. In this regard, according to an embodiment of the present invention, the
트랜잭션 생성부(116)는 메시지 전송부(115)에 의해 상기 구매 완료 메시지가 제1 회원(140)의 전자 단말(141)로 전송 완료되면, 제1 회원(140)의 회원 식별 정보, 상기 제1 무게에 대한 정보 및 상기 제1 금액에 대한 정보가 포함된 금 거래 트랜잭션을 생성한다. When the purchase completion message is transmitted to the
예컨대, 전술한 예에 따라, 메시지 전송부(115)에 의해 상기 구매 완료 메시지가 '회원 3'(140)의 전자 단말(141)로 전송 완료되었다고 하는 경우, 트랜잭션 생성부(116)는 '회원 3'(140)의 회원 식별 정보인 '회원 식별 정보 3', 상기 제1 무게인 '2g'에 대한 정보 및 상기 제1 금액인 '128,000원'에 대한 정보가 포함된 금 거래 트랜잭션을 생성할 수 있다. For example, according to the above-described example, when it is determined that the purchase completion message has been transmitted to the
이렇게, 트랜잭션 생성부(116)에 의해 상기 금 거래 트랜잭션이 생성되면, 등록 요청부(117)는 블록체인 네트워크(100)를 구성하는 복수의 노드 장치들(101, 102, 103, 104, 105, 106) 중 어느 하나인 제1 노드 장치(101)로 상기 금 거래 트랜잭션을 전송하면서, 상기 금 거래 트랜잭션의 블록체인 네트워크(100)로의 등록 요청을 전송한다. In this way, when the gold transaction transaction is generated by the
이때, 제1 노드 장치(101)는 금 판매 서버(110)로부터 상기 금 거래 트랜잭션이 수신되면, 제1 노드 장치(101)의 메모리 상에 저장되어 있는 블록체인 데이터를 기초로, 상기 금 거래 트랜잭션이 포함된 블록을 생성하고, 상기 블록을 상기 블록체인 데이터에 체인으로 연결한 후, 상기 블록을 블록체인 네트워크(100)를 통해, 복수의 노드 장치들(101, 102, 103, 104, 105, 106) 중 제1 노드 장치(101)를 제외한 나머지 노드 장치들(102, 103, 104, 105, 106)로 전파한다. At this time, when the gold transaction transaction is received from the
구체적으로, 제1 노드 장치(101)는 금 판매 서버(110)로부터 상기 금 거래 트랜잭션과 함께 상기 등록 요청이 수신되면, 상기 블록체인 데이터에 체인으로 연결되어 있는 이전 블록의 블록 헤더를 참조하여 상기 금 거래 트랜잭션이 포함된 새로운 블록을 생성할 수 있다. 그러고 나서, 제1 노드 장치(101)는 상기 블록을 상기 블록체인 데이터에 체인으로 연결함으로써, 상기 블록에 대한 저장을 완료한 후 상기 블록체인 네트워크를 통해 상기 블록을 상기 복수의 노드 장치들(101, 102, 103, 104, 105, 106) 중 제1 노드 장치(101)를 제외한 나머지 노드 장치들(102, 103, 104, 105, 106)로 전파할 수 있다.Specifically, when the registration request is received together with the gold transaction transaction from the
이를 통해, 상기 금 거래 트랜잭션은 복수의 노드 장치들(101, 102, 103, 104, 105, 106) 각각의 메모리 상에 저장되어 있는 블록체인 데이터에 체인으로 연결됨으로써, 복수의 노드 장치들(101, 102, 103, 104, 105, 106) 각각에 분산 저장될 수 있다.Through this, the gold transaction transaction is chained to the block chain data stored in the memory of each of the plurality of
본 발명의 일실시예에 따르면, 금 판매 서버(110)는 상기 복수의 회원들이 현금성 포인트를 이용하여 구매한 금을, 골드바 인출 장치(150)를 통해 실물 골드바로 인출할 수 있도록 지원하는 구성을 더 포함할 수 있다.According to an embodiment of the present invention, the
이와 관련해서, 본 발명에서는 회원들이 실물 골드바를 인출할 수 있도록 지원하기 위해, 소정의 실물 골드바들이 보관되어 있는 골드바 인출 장치(150)가 존재할 수 있고, 이때, 본 발명에 따른 금 판매 서버(110)는 개인키 저장부(118), 토큰 데이터베이스(119), 코드 전송부(120), 토큰 전송부(121), 인출 승인부(122), 제2 데이터베이스 갱신부(123) 및 토큰 갱신부(124)를 더 포함할 수 있다.In this regard, in the present invention, in order to support members to withdraw real gold bars, a gold
먼저, 개인키 저장부(118)에는 전자 서명을 위한 사전 설정된 개인키가 저장되어 있다. First, the private
여기서, 상기 개인키와 키쌍을 구성하는 공개키는, 복수의 골드바들이 보관되어 있는 골드바 인출 장치(150)에 사전 배포되어 있다. Here, the private key and the public key constituting the key pair are pre-distributed to the gold
토큰 데이터베이스(119)에는 상기 복수의 회원들 각각의 회원 식별 정보와 상기 복수의 회원들 각각에 대응되는 디지털 골드 토큰이 저장되어 있다. The
여기서, 상기 복수의 회원들 각각에 대응되는 디지털 골드 토큰에는 각 회원이 보유하고 있는 금의 무게 정보에 대한 데이터가 사전 설정된 해시 함수에 입력으로 인가되어 생성된 해시 값과, 상기 해시 값이 상기 개인키로 암호화되어 생성된 전자 서명 값이 포함되어 있다. Here, in the digital gold token corresponding to each of the plurality of members, a hash value generated by applying data on weight information of gold held by each member as an input to a preset hash function, and the hash value are the individual The digital signature value generated by encryption with the key is included.
예컨대, 상기 표 3과 같은 회원 정보 데이터베이스(112)에서는, '회원 1'이 보유하고 있는 금의 무게가 '30g'이므로, '회원 1'에 대응되는 '디지털 골드 토큰 1'에는 '30g'에 대한 데이터가 상기 해시 함수에 입력으로 인가되어 생성된 해시 값과, 상기 해시 값이 상기 개인키로 암호화되어 생성된 전자 서명 값이 포함되어 있을 수 있다. For example, in the
이와 관련해서, 토큰 데이터베이스(119)에는 하기의 표 4와 같은 정보가 저장되어 있을 수 있다. In this regard, information as shown in Table 4 below may be stored in the
코드 전송부(120)는 제1 회원(140)의 전자 단말(141)로부터 골드바 인출 장치(150)에 인식시키기 위한 2차원 코드의 발행 요청이 수신되면, 제1 회원(140)의 회원 식별 정보가 포함된 2차원 코드를 생성하여 제1 회원(140)의 전자 단말(141)로 전송한다. When a request for issuing a two-dimensional code to be recognized by the gold
여기서, 상기 2차원 코드란 'QR(Quick Response) 코드'와 같이 2차원 이미지 패턴 상에 다양한 문자 등의 정보를 삽입할 수 있는 코드를 의미한다.Here, the two-dimensional code means a code capable of inserting information such as various characters on a two-dimensional image pattern, such as a 'QR (Quick Response) code'.
예컨대, '회원 3'(140)의 전자 단말(141)로부터 골드바 인출 장치(150)에 인식시키기 위한 2차원 코드의 발행 요청이 금 판매 서버(110)에 수신되었다고 하는 경우, 코드 전송부(120)는 '회원 3'(140)의 회원 식별 정보인 '회원 식별 정보 3'이 포함된 2차원 코드를 생성하여 '회원 3'(140)의 전자 단말(141)로 전송할 수 있다. For example, when it is assumed that a request for issuing a 2D code for recognition by the gold
이때, 본 발명의 일실시예에 따르면, 골드바 인출 장치(150)는 상기 복수의 골드바들이 보관되어 있는 골드바 보관부, 2차원 코드를 인식하기 위한 코드 인식부 및 골드바를 배출하기 위한 골드바 배출부로 구성될 수 있다. At this time, according to an embodiment of the present invention, the gold
여기서, 상기 골드바 보관부에는 '1g', '2g', '10g', '100g', '1kg' 등의 다양한 무게를 갖는 상기 복수의 골드바들이 보관되어 있을 수 있다.Here, the plurality of gold bars having various weights such as '1g', '2g', '10g', '100g', and '1kg' may be stored in the gold bar storage unit.
또한, 코드 전송부(120)에 의해 상기 2차원 코드가 제1 회원(140)의 전자 단말(141)로 전송 완료된 이후, 제1 회원(140)이 제1 회원(140)의 전자 단말(141)을 통해 표시되는 상기 2차원 코드를 상기 코드 인식부에 인식시키고, 상기 복수의 골드바들 중 어느 하나인 제1 골드바를 인출하기 위한 인출 버튼을 누름으로써, 상기 제1 골드바에 대한 인출 명령을 골드바 인출 장치(150)에 인가하게 되면, 골드바 인출 장치(150)는 상기 코드 인식부를 통해 상기 2차원 코드를 인식하여 상기 2차원 코드로부터 제1 회원(140)의 회원 식별 정보를 추출한 후, 금 판매 서버(110)로 상기 제1 골드바에 대한 인출 승인 요청과 함께 상기 제1 골드바의 무게 정보 및 제1 회원(140)의 회원 식별 정보를 전송할 수 있다. In addition, after the two-dimensional code is transmitted to the
예컨대, 전술한 예와 같이, 코드 전송부(120)가 '회원 식별 정보 3'이 포함된 2차원 코드를 생성하여 '회원 3'(140)의 전자 단말(141)로 전송함에 따라, '회원 3'(140)의 전자 단말(141)에 상기 2차원 코드가 수신된 이후, '회원 3'(140)이 '회원 3'(140)의 전자 단말(141)을 통해 표시되는 상기 2차원 코드를 골드바 인출 장치(150)의 상기 코드 인식부에 인식시키고, 상기 복수의 골드바들 중 어느 하나인 제1 골드바를 인출하기 위한 인출 버튼을 누름으로써, 상기 제1 골드바에 대한 인출 명령을 골드바 인출 장치(150)에 인가하였다고 가정하자. For example, as in the above example, as the
이때, 상기 제1 골드바의 무게를 '3g'이라고 하는 경우, 골드바 인출 장치(150)는 상기 코드 인식부를 통해 상기 2차원 코드를 인식하여 상기 2차원 코드로부터 '회원 식별 정보 3'을 추출한 후, 금 판매 서버(110)로 상기 제1 골드바에 대한 인출 승인 요청과 함께 상기 제1 골드바의 무게인 '3g'에 대한 정보 및 '회원 식별 정보 3'을 전송할 수 있다. At this time, when the weight of the first gold bar is '3g', the gold
이렇게, 코드 전송부(120)에 의해 상기 2차원 코드가 제1 회원(140)의 전자 단말(141)로 전송 완료된 이후, 제1 회원(140)이 제1 회원(140)의 전자 단말(141)을 통해 표시되는 상기 2차원 코드를 골드바 인출 장치(150)에 인식시키고, 상기 복수의 골드바들 중 어느 하나의 제1 골드바를 인출하기 위한 인출 명령을 골드바 인출 장치(150)에 인가함에 따라, 금 판매 서버(110)에 골드바 인출 장치(150)로부터 상기 제1 골드바에 대한 인출 승인 요청과 함께 상기 제1 골드바의 무게 정보 및 제1 회원(140)의 회원 식별 정보가 수신되면, 토큰 전송부(121)는 토큰 데이터베이스(119)로부터 제1 회원(140)에 대응되는 제1 디지털 골드 토큰을 추출한 후, 골드바 인출 장치(150)로 상기 제1 디지털 골드 토큰을 골드바 인출 장치(150)로 전송하면서, 상기 제1 디지털 골드 토큰에 대한 검증을 수행할 것을 요청한다.In this way, after the two-dimensional code is transmitted to the
예컨대, 전술한 예와 같이, 골드바 인출 장치(150)가 금 판매 서버(110)로 상기 제1 골드바에 대한 인출 승인 요청과 함께 상기 제1 골드바의 무게인 '3g'에 대한 정보 및 '회원 식별 정보 3'을 전송함에 따라, 금 판매 서버(110)에 골드바 인출 장치(150)로부터 상기 제1 골드바에 대한 인출 승인 요청과 함께 상기 제1 골드바의 무게인 '3g'에 대한 정보 및 '회원 식별 정보 3'이 수신되었다고 가정하자. For example, as in the above example, the gold
그러면, 토큰 전송부(121)는 상기 표 4와 같은 토큰 데이터베이스(119)로부터 '회원 3'(140)에 대응되는 '디지털 골드 토큰 3'을 추출한 후, 골드바 인출 장치(150)로 '디지털 골드 토큰 3'을 전송하면서, '디지털 골드 토큰 3'에 대한 검증을 수행할 것을 요청할 수 있다.Then, the
이때, 골드바 인출 장치(150)는 금 판매 서버(110)로부터 '디지털 골드 토큰 3'이 수신되면, '디지털 골드 토큰 3'에 포함되어 있는 전자 서명 값을 상기 공개키로 복호화하여 복호화 값을 생성한 후, 상기 복호화 값을 '디지털 골드 토큰 3'에 포함되어 있는 해시 값과 비교하여 상기 복호화 값이 '디지털 골드 토큰 3'에 포함되어 있는 해시 값과 일치하는 것으로 확인되면, '디지털 골드 토큰 3'에 대한 검증이 완료되었음을 지시하는 검증 완료 메시지를 생성하여 금 판매 서버(110)로 전송할 수 있다.At this time, when the 'digital gold token 3' is received from the
이렇게, 토큰 전송부(121)에 의해 상기 제1 디지털 골드 토큰이 골드바 인출 장치(150)로 전송 완료된 이후, 금 판매 서버(110)에 골드바 인출 장치(150)로부터 상기 검증 완료 메시지(상기 검증 완료 메시지는 골드바 인출 장치(150)에 상기 제1 디지털 골드 토큰이 수신된 이후, 골드바 인출 장치(150)에서, 상기 제1 디지털 골드 토큰에 포함되어 있는 전자 서명 값이 상기 공개키로 복호화되어 복호화 값이 생성되고, 상기 복호화 값이 상기 제1 디지털 골드 토큰에 포함되어 있는 해시 값과 일치하는 것으로 확인됨에 따라, 상기 제1 디지털 골드 토큰에 대한 검증이 완료되었음을 지시하기 위해 생성된 메시지를 의미함)가 수신되면, 인출 승인부(122)는 회원 정보 데이터베이스(112)를 참조하여 제1 회원(140)이 보유하고 있는 금의 무게가 상기 제1 골드바의 무게 이상인지 여부를 확인하고, 제1 회원(140)이 보유하고 있는 금의 무게가 상기 제1 골드바의 무게 이상인 것으로 확인되는 경우, 상기 제1 골드바에 대한 인출 승인 처리를 완료한 후, 골드바 인출 장치(150)로 상기 제1 골드바에 대한 인출 승인 완료 메시지를 전송한다. In this way, after the first digital gold token is transmitted to the gold
예컨대, 전술한 예와 같이, 제1 골드바의 무게를 '3g'이라고 하고, 골드바 인출 장치(150)로부터 '디지털 골드 토큰 3'에 대한 검증 완료 메시지가 수신되었다고 하는 경우, 인출 승인부(122)는 회원 정보 데이터베이스(112)를 참조하여 '회원 3'(140)이 보유하고 있는 금의 무게가 상기 제1 골드바의 무게 이상인지 여부를 확인할 수 있다. For example, as in the above example, when it is assumed that the weight of the first gold bar is '3g' and a verification completion message for 'digital gold token 3' is received from the gold
관련해서, 상기 표 3과 같은 회원 정보 데이터베이스(112)에서는 '회원 3'(140)이 보유하고 있는 금의 무게가 '18g'이므로, 인출 승인부(122)는 '회원 3'(140)이 보유하고 있는 금의 무게가 상기 제1 골드바의 무게 이상인 것으로 확인하여 상기 제1 골드바에 대한 인출 승인 처리를 완료할 수 있다. In relation to this, in the
그러고 나서, 인출 승인부(122)는 골드바 인출 장치(150)로 상기 제1 골드바에 대한 인출 승인 완료 메시지를 전송할 수 있다. Then, the
이때, 본 발명의 일실시예에 따르면, 골드바 인출 장치(150)는 금 판매 서버(110)로부터 상기 제1 골드바에 대한 인출 승인 완료 메시지가 수신되면, 상기 골드바 보관부에 보관되어 있는 상기 복수의 골드바들 중 상기 제1 골드바를 상기 골드바 배출부를 통해 배출할 수 있다. At this time, according to an embodiment of the present invention, when the gold
이를 통해, '회원 3'(140)은 자신이 보유하고 있는 금 자산을 활용해서 실물 골드바를 취득할 수 있다.Through this, the 'member 3' 140 can acquire a real gold bar by using the gold assets they have.
이때, 제2 데이터베이스 갱신부(123)는 인출 승인부(122)에 의해 상기 인출 승인 완료 메시지가 골드바 인출 장치(150)로 전송 완료되면, 회원 정보 데이터베이스(112)에 저장되어 있는 제1 회원(140)이 보유하고 있는 금의 무게 정보에서, 제1 회원(140)이 보유하고 있는 금의 무게를 상기 제1 골드바의 무게만큼 차감함으로써, 회원 정보 데이터베이스(112)를 갱신한다. At this time, when the withdrawal approval completion message is transmitted to the gold
토큰 갱신부(124)는 제2 데이터베이스 갱신부(123)에 의해 회원 정보 데이터베이스(112)가 갱신되면, 갱신된 제1 회원(140)이 보유하고 있는 금의 무게 정보에 대한 데이터를 상기 해시 함수에 입력으로 인가하여 제1 해시 값을 생성하고, 상기 제1 해시 값을 상기 개인키로 암호화하여 제1 전자 서명 값을 생성하며, 상기 제1 해시 값과 상기 제1 전자 서명 값이 포함된 제2 디지털 골드 토큰을 생성한 후, 토큰 데이터베이스(119)에 저장되어 있는 제1 회원(140)에 대응되는 상기 제1 디지털 골드 토큰을 상기 제2 디지털 골드 토큰으로 대체함으로써, 토큰 데이터베이스(119)를 갱신한다. When the
이하에서는, 제2 데이터베이스 갱신부(123) 및 토큰 갱신부(124)의 동작을 예를 들어, 상세히 설명하기로 한다. Hereinafter, the operations of the
먼저, 전술한 예와 같이, 제1 회원(140)을 '회원 3'(140)이라고 하고, 상기 제1 골드바의 무게를 '3g'이라고 하며, 인출 승인부(122)에 의해 상기 인출 승인 완료 메시지가 골드바 인출 장치(150)로 전송 완료되었다고 하는 경우, 제2 데이터베이스 갱신부(123)는 상기 표 3과 같은 회원 정보 데이터베이스(112)에 저장되어 있는 '회원 3'(140)이 보유하고 있는 금의 무게 정보에서, '회원 3'(140)이 보유하고 있는 금의 무게를 '3g'만큼 차감함으로써, 회원 정보 데이터베이스(112)를 하기의 표 5와 같이 갱신할 수 있다. First, as in the above example, the
금의 무게weight of gold
현금성 포인트cash points
그러면, 토큰 갱신부(124)는 '15g'에 대한 데이터를 상기 해시 함수에 입력으로 인가하여 제1 해시 값을 생성하고, 상기 제1 해시 값을 상기 개인키로 암호화하여 제1 전자 서명 값을 생성하며, 상기 제1 해시 값과 상기 제1 전자 서명 값이 포함된 '디지털 골드 토큰 4'를 생성할 수 있다.Then, the
그러고 나서, 토큰 갱신부(124)는 상기 표 4와 같은 토큰 데이터베이스(119)에 저장되어 있는 '회원 3'(140)에 대응되는 '디지털 골드 토큰 3'을 '디지털 골드 토큰 4'로 대체함으로써, 토큰 데이터베이스(119)를 하기의 표 6과 같이 갱신할 수 있다. Then, the
이렇게, 제2 데이터베이스 갱신부(114)에 의해 회원 정보 데이터베이스(112)가 갱신되고, 토큰 갱신부(124)에 의해 토큰 데이터베이스(119)가 갱신된 이후, 골드바를 인출하기 위한 인출 명령이 골드바 인출 장치(150)에 새롭게 인가되면, 금 판매 서버(110)와 골드바 인출 장치(150)는 갱신된 회원 정보 데이터베이스(112)와 갱신된 토큰 데이터베이스(119)를 기초로, 골드바를 인출하기 위한 프로세스를 진행할 수 있다. In this way, after the
도 2는 본 발명의 일실시예에 따른 현금성 포인트를 이용하여 금을 구매할 수 있도록 지원하는 금 판매 서버의 동작 방법을 도시한 순서도이다. FIG. 2 is a flowchart illustrating an operation method of a gold selling server that supports to purchase gold using cashable points according to an embodiment of the present invention.
단계(S210)에서는 사전 설정된 단위 무게 당 금 판매 단가가 기록되어 있는 판매 단가 테이블을 저장하여 유지한다. In step S210, a sales unit price table in which a preset unit weight of gold is recorded is stored and maintained.
단계(S220)에서는 복수의 회원들 각각의 회원 식별 정보, 상기 복수의 회원들 각각이 보유하고 있는 금의 무게 정보 및 상기 복수의 회원들 각각이 보유하고 있는 현금성 포인트 정보가 저장되어 있는 회원 정보 데이터베이스를 유지한다. In step S220, a member information database in which member identification information of each of the plurality of members, information on the weight of gold held by each of the plurality of members, and cashable point information held by each of the plurality of members are stored. to keep
단계(S230)에서는 상기 복수의 회원들 중 어느 한 명인 제1 회원의 전자 단말로부터 제1 무게만큼의 금 구매 요청이 수신되면, 상기 제1 회원의 전자 단말에 대한 인증을 수행한 후, 상기 판매 단가 테이블을 참조하여 상기 제1 무게만큼의 금에 대한 판매 금액을 확인한다. In step S230, when a request to purchase gold equal to a first weight is received from the electronic terminal of a first member, one of the plurality of members, authentication is performed on the electronic terminal of the first member, and then the sale Referring to the unit price table, a sales amount for gold equal to the first weight is checked.
단계(S240)에서는 상기 제1 무게만큼의 금에 대한 판매 금액이 제1 금액인 것으로 확인되면, 상기 회원 정보 데이터베이스에 저장되어 있는 상기 제1 회원이 보유하고 있는 현금성 포인트 정보에서, 상기 제1 회원이 보유하고 있는 현금성 포인트를 상기 제1 금액만큼 차감하고, 상기 회원 정보 데이터베이스에 저장되어 있는 상기 제1 회원이 보유하고 있는 금의 무게 정보에서, 상기 제1 회원이 보유하고 있는 금의 무게를 상기 제1 무게만큼 증가시킴으로써, 상기 회원 정보 데이터베이스를 갱신한다.In step S240, if it is confirmed that the sales amount for gold equal to the first weight is the first amount, in the cashable point information held by the first member stored in the member information database, the first member The cashable points held are deducted by the first amount, and the weight of the gold held by the first member is calculated from the weight information of the gold held by the first member stored in the member information database. By increasing by the first weight, the member information database is updated.
단계(S250)에서는 상기 회원 정보 데이터베이스가 갱신되면, 상기 제1 회원의 전자 단말로 상기 제1 무게만큼의 금에 대한 구매가 완료되었음을 지시하는 구매 완료 메시지를 전송한다. In step S250, when the member information database is updated, a purchase completion message indicating that the purchase of gold equal to the first weight has been completed is transmitted to the electronic terminal of the first member.
이때, 본 발명의 일실시예에 따르면, 상기 금 판매 서버의 동작 방법은 상기 구매 완료 메시지가 상기 제1 회원의 전자 단말로 전송 완료되면, 상기 제1 회원의 회원 식별 정보, 상기 제1 무게에 대한 정보 및 상기 제1 금액에 대한 정보가 포함된 금 거래 트랜잭션을 생성하는 단계, 블록체인 네트워크를 구성하는 복수의 노드 장치들 중 어느 하나인 제1 노드 장치로 상기 금 거래 트랜잭션을 전송하면서, 상기 금 거래 트랜잭션의 상기 블록체인 네트워크로의 등록 요청을 전송하는 단계를 더 포함할 수 있고, 상기 제1 노드 장치는 상기 금 판매 서버로부터 상기 금 거래 트랜잭션이 수신되면, 상기 제1 노드 장치의 메모리 상에 저장되어 있는 블록체인 데이터를 기초로, 상기 금 거래 트랜잭션이 포함된 블록을 생성하고, 상기 블록을 상기 블록체인 데이터에 체인으로 연결한 후, 상기 블록을 상기 블록체인 네트워크를 통해, 상기 복수의 노드 장치들 중 상기 제1 노드 장치를 제외한 나머지 노드 장치들로 전파할 수 있다. In this case, according to an embodiment of the present invention, in the method of operating the gold selling server, when the purchase completion message is transmitted to the electronic terminal of the first member, member identification information of the first member and the first weight generating a gold transaction transaction including information about the transaction price and the first amount; transmitting the gold transaction transaction to a first node device that is one of a plurality of node devices constituting a block chain network; The method may further include sending a request for registration of a gold transaction transaction to the blockchain network, wherein the first node device stores the gold transaction transaction in the memory of the first node device when the gold transaction transaction is received from the gold selling server. Based on the block chain data stored in Propagation may be performed to other node devices except for the first node device among the node devices.
또한, 본 발명의 일실시예에 따르면, 상기 금 판매 서버의 동작 방법은 전자 서명을 위한 사전 설정된 개인키(상기 개인키와 키쌍을 구성하는 공개키는, 복수의 골드바들이 보관되어 있는 골드바 인출 장치에 사전 배포되어 있음)가 저장되어 있는 개인키 저장부를 유지하는 단계, 상기 복수의 회원들 각각의 회원 식별 정보와 상기 복수의 회원들 각각에 대응되는 디지털 골드 토큰(상기 복수의 회원들 각각에 대응되는 디지털 골드 토큰에는 각 회원이 보유하고 있는 금의 무게 정보에 대한 데이터가 사전 설정된 해시 함수에 입력으로 인가되어 생성된 해시 값과, 상기 해시 값이 상기 개인키로 암호화되어 생성된 전자 서명 값이 포함되어 있음)이 저장되어 있는 토큰 데이터베이스를 유지하는 단계, 상기 제1 회원의 전자 단말로부터 상기 골드바 인출 장치에 인식시키기 위한 2차원 코드의 발행 요청이 수신되면, 상기 제1 회원의 회원 식별 정보가 포함된 2차원 코드를 생성하여 상기 제1 회원의 전자 단말로 전송하는 단계, 상기 2차원 코드가 상기 제1 회원의 전자 단말로 전송 완료된 이후, 상기 제1 회원이 상기 제1 회원의 전자 단말을 통해 표시되는 상기 2차원 코드를 상기 골드바 인출 장치에 인식시키고, 상기 복수의 골드바들 중 어느 하나의 제1 골드바를 인출하기 위한 인출 명령을 상기 골드바 인출 장치에 인가함에 따라, 상기 골드바 인출 장치로부터 상기 제1 골드바에 대한 인출 승인 요청과 함께 상기 제1 골드바의 무게 정보 및 상기 제1 회원의 회원 식별 정보가 수신되면, 상기 토큰 데이터베이스로부터 상기 제1 회원에 대응되는 제1 디지털 골드 토큰을 추출한 후, 상기 골드바 인출 장치로 상기 제1 디지털 골드 토큰을 상기 골드바 인출 장치로 전송하면서, 상기 제1 디지털 골드 토큰에 대한 검증을 수행할 것을 요청하는 단계, 상기 제1 디지털 골드 토큰이 상기 골드바 인출 장치로 전송 완료된 이후, 상기 골드바 인출 장치로부터 상기 제1 디지털 골드 토큰에 대한 검증이 완료되었음을 지시하는 검증 완료 메시지(상기 검증 완료 메시지는 상기 골드바 인출 장치에 상기 제1 디지털 골드 토큰이 수신된 이후, 상기 골드바 인출 장치에서, 상기 제1 디지털 골드 토큰에 포함되어 있는 전자 서명 값이 상기 공개키로 복호화되어 복호화 값이 생성되고, 상기 복호화 값이 상기 제1 디지털 골드 토큰에 포함되어 있는 해시 값과 일치하는 것으로 확인됨에 따라, 상기 제1 디지털 골드 토큰에 대한 검증이 완료되었음을 지시하기 위해 생성된 메시지를 의미함)가 수신되면, 상기 회원 정보 데이터베이스를 참조하여 상기 제1 회원이 보유하고 있는 금의 무게가 상기 제1 골드바의 무게 이상인지 여부를 확인하고, 상기 제1 회원이 보유하고 있는 금의 무게가 상기 제1 골드바의 무게 이상인 것으로 확인되는 경우, 상기 제1 골드바에 대한 인출 승인 처리를 완료한 후, 상기 골드바 인출 장치로 상기 제1 골드바에 대한 인출 승인 완료 메시지를 전송하는 단계, 상기 인출 승인 완료 메시지가 상기 골드바 인출 장치로 전송 완료되면, 상기 회원 정보 데이터베이스에 저장되어 있는 상기 제1 회원이 보유하고 있는 금의 무게 정보에서, 상기 제1 회원이 보유하고 있는 금의 무게를 상기 제1 골드바의 무게만큼 차감함으로써, 상기 회원 정보 데이터베이스를 갱신하는 단계 및 상기 회원 정보 데이터베이스가 갱신되면, 갱신된 상기 제1 회원이 보유하고 있는 금의 무게 정보에 대한 데이터를 상기 해시 함수에 입력으로 인가하여 제1 해시 값을 생성하고, 상기 제1 해시 값을 상기 개인키로 암호화하여 제1 전자 서명 값을 생성하며, 상기 제1 해시 값과 상기 제1 전자 서명 값이 포함된 제2 디지털 골드 토큰을 생성한 후, 상기 토큰 데이터베이스에 저장되어 있는 상기 제1 회원에 대응되는 상기 제1 디지털 골드 토큰을 상기 제2 디지털 골드 토큰으로 대체함으로써, 상기 토큰 데이터베이스를 갱신하는 단계를 더 포함할 수 있다. In addition, according to an embodiment of the present invention, the method of operating the gold selling server includes a preset private key for electronic signature (the private key and the public key constituting the key pair are a gold bar withdrawal device in which a plurality of gold bars are stored) maintaining a private key storage unit in which a private key storage unit in which is previously distributed) is stored, member identification information of each of the plurality of members and a digital gold token corresponding to each of the plurality of members (corresponding to each of the plurality of members) The digital gold token that becomes a digital gold token includes a hash value generated by applying data on the weight information of gold held by each member as input to a preset hash function, and an electronic signature value generated by encrypting the hash value with the private key. and maintaining a token database in which the information is stored; when a request for issuing a two-dimensional code for recognizing the gold bar withdrawal device is received from the electronic terminal of the first member, member identification information of the first member is included generating a two-dimensional code and transmitting it to the electronic terminal of the first member. After the two-dimensional code is transmitted to the electronic terminal of the first member, the first member sends the first member through the electronic terminal of the first member When the displayed two-dimensional code is recognized by the gold bar withdrawing device and a withdrawal command for withdrawing a first gold bar from among the plurality of gold bars is applied to the gold bar withdrawing device, the gold bar withdrawing device When the weight information of the first gold bar and member identification information of the first member are received along with a request for approval of withdrawal for 1 gold bar, the first digital gold token corresponding to the first member is extracted from the token database, and then the transmitting the first digital gold token to the gold bar withdrawing device to the gold bar withdrawing device and requesting verification of the first digital gold token, the first digital gold token being transferred to the gold bar withdrawing device After that, it is confirmed that the verification of the first digital gold token is completed from the gold bar withdrawal device. A verification completion message indicating (the verification completion message is that after the first digital gold token is received in the gold bar withdrawal device, the digital signature value included in the first digital gold token is converted into the public key in the gold bar withdrawal device) A message is generated to indicate that verification of the first digital gold token has been completed as it is decrypted to generate a decrypted value, and it is confirmed that the decrypted value matches the hash value included in the first digital gold token means) is received, it is checked whether the weight of the gold held by the first member is equal to or greater than the weight of the first gold bar by referring to the member information database, and the amount of gold held by the first member is checked. When it is confirmed that the weight is equal to or greater than the weight of the first gold bar, after completing the withdrawal approval process for the first gold bar, transmitting a withdrawal approval completion message for the first gold bar to the gold bar withdrawal device; When the approval completion message is transmitted to the gold bar withdrawal device, the weight of the gold held by the first member is determined from the weight information of the gold held by the first member stored in the member information database. Updating the member information database by subtracting the weight of the gold bar, and when the member information database is updated, applying the updated data on the weight information of gold held by the first member as an input to the hash function. generating a first hash value, encrypting the first hash value with the private key to generate a first digital signature value, and generating a second digital gold token including the first hash value and the first digital signature value The method may further include updating the token database by replacing the first digital gold token corresponding to the first member stored in the token database with the second digital gold token.
이때, 본 발명의 일실시예에 따르면, 상기 골드바 인출 장치는 상기 복수의 골드바들이 보관되어 있는 골드바 보관부, 2차원 코드를 인식하기 위한 코드 인식부 및 골드바를 배출하기 위한 골드바 배출부로 구성되며, 상기 제1 회원이 상기 제1 회원의 전자 단말을 통해 표시되는 상기 2차원 코드를 상기 코드 인식부에 인식시키고, 상기 제1 골드바를 인출하기 위한 인출 버튼을 누름으로써, 상기 제1 골드바에 대한 인출 명령을 상기 골드바 인출 장치에 인가하면, 상기 코드 인식부를 통해 상기 2차원 코드를 인식하여 상기 2차원 코드로부터 상기 제1 회원의 회원 식별 정보를 추출한 후, 상기 금 판매 서버로 상기 제1 골드바에 대한 인출 승인 요청과 함께 상기 제1 골드바의 무게 정보 및 상기 제1 회원의 회원 식별 정보를 전송하고, 상기 금 판매 서버로부터 상기 제1 골드바에 대한 인출 승인 완료 메시지가 수신되면, 상기 골드바 보관부에 보관되어 있는 상기 복수의 골드바들 중 상기 제1 골드바를 상기 골드바 배출부를 통해 배출할 수 있다. At this time, according to an embodiment of the present invention, the gold bar withdrawal device includes a gold bar storage unit in which the plurality of gold bars are stored, a code recognition unit for recognizing a two-dimensional code, and a gold bar discharge unit for discharging the gold bars, When the first member recognizes the two-dimensional code displayed through the electronic terminal of the first member with the code recognition unit, and presses a withdrawal button for withdrawing the first gold bar, withdrawal of the first gold bar When a command is applied to the gold bar withdrawal device, the two-dimensional code is recognized through the code recognition unit, member identification information of the first member is extracted from the two-dimensional code, and then, the first gold bar is sent to the gold selling server. The weight information of the first gold bar and member identification information of the first member are transmitted together with the withdrawal approval request, and when a withdrawal approval completion message for the first gold bar is received from the gold selling server, the data is stored in the gold bar storage unit. The first gold bar among the plurality of gold bars may be discharged through the gold bar discharge unit.
또한, 본 발명의 일실시예에 따르면, 단계(S230)는 상기 제1 회원의 전자 단말과 사전 공유하고 있는 사전 설정된 제1 OTP 생성 함수와 사전 설정된 제2 OTP 생성 함수가 저장되어 있는 OTP 저장부를 유지하는 단계, 상기 제1 회원의 전자 단말과 사전 공유하고 있는 사전 설정된 제1 인증용 숫자 m(m은 2 이상의 자연수임)과 사전 설정된 제2 인증용 숫자 k(k는 m과 다른 2 이상의 자연수임)가 저장되어 있는 인증용 숫자 저장부를 유지하는 단계, 상기 제1 회원의 전자 단말로부터 상기 제1 무게만큼의 금 구매 요청이 수신되면, 상기 제1 회원의 전자 단말에 대한 인증을 수행하기 위한 인증 이벤트를 발생시키는 단계, 상기 인증 이벤트가 발생되면, 상기 제1 OTP 생성 함수를 기초로 제1 일회용 인증 번호를 생성한 후, 상기 제1 일회용 인증 번호를 피제수로, 상기 제1 인증용 숫자 m을 제수로 하는 모듈로 연산을 수행함으로써, 제1 연산 값 x를 산출하고, 상기 제2 OTP 생성 함수를 기초로 제2 일회용 인증 번호를 생성한 후 상기 제2 일회용 인증 번호를 피제수로, 상기 제2 인증용 숫자 k를 제수로 하는 모듈로 연산을 수행함으로써, 제2 연산 값 y를 산출하는 단계, 랜덤한 성분 값들로 구성된 m x k의 크기를 갖는 랜덤 행렬을 생성하고, 제1 랜덤 값을 랜덤하게 생성하는 단계, 상기 랜덤 행렬에서 (x+1)행(y+1)열에 위치하는 성분을 상기 제1 랜덤 값으로 치환함으로써, m x k의 크기를 갖는 치환 행렬을 생성하고, 상기 제1 회원의 전자 단말로 상기 치환 행렬을 전송하면서, 상기 치환 행렬에 대응되는 피드백 값의 전송을 요청하는 단계, 상기 제1 회원의 전자 단말로부터 상기 치환 행렬에 대응되는 피드백 값으로 제1 피드백 값(상기 제1 피드백 값은 상기 제1 회원의 전자 단말에서, 상기 제1 회원의 전자 단말의 메모리 상에 사전 저장되어 있는 상기 제1 OTP 생성 함수, 상기 제2 OTP 생성 함수, 상기 제1 인증용 숫자 m 및 상기 제2 인증용 숫자 k를 기초로 상기 제1 연산 값 x와 상기 제2 연산 값 y가 산출된 후, 상기 치환 행렬에서 (x+1)행(y+1)열에 위치하는 성분 값이 추출되어 생성된 피드백 값임)이 수신되면, 상기 제1 피드백 값이 상기 제1 랜덤 값과 일치하는지 여부를 확인하는 단계 및 상기 제1 피드백 값이 상기 제1 랜덤 값과 일치하는 것으로 확인되면, 상기 제1 회원의 전자 단말에 대한 인증을 완료하는 단계를 포함할 수 있다. In addition, according to an embodiment of the present invention, in step S230, an OTP storage unit in which a preset first OTP generating function and a preset second OTP generating function shared in advance with the electronic terminal of the first member are stored. maintaining, a preset number m for first authentication (m is a natural number greater than or equal to 2) and a preset number k for second authentication shared with the electronic terminal of the first member in advance (k is a natural number greater than or equal to 2 different from m) maintaining a number storage unit for authentication in which the number is stored; when a request to purchase gold equal to the first weight is received from the electronic terminal of the first member, for performing authentication of the electronic terminal of the first member generating an authentication event; when the authentication event occurs, a first one-time authentication number is generated based on the first OTP generation function, the first one-time authentication number is a dividend, and the first authentication number m By performing a modulo operation in which is a divisor, a first operation value x is calculated, a second one-time authentication number is generated based on the second OTP generation function, and then the second one-time authentication number is used as a dividend, and the second 2 Calculating the second operation value y by performing a modulo operation by dividing the number k for authentication as a divisor, generating a random matrix having a size of m x k composed of random component values, and randomly generating the first random value generating, by substituting the first random value for a component located in (x+1) row (y+1) column in the random matrix, a permutation matrix having a size of m x k is generated, and the electrons of the first member requesting transmission of a feedback value corresponding to the permutation matrix while transmitting the permutation matrix to the terminal; a first feedback value (the first feedback) as a feedback value corresponding to the permutation matrix from the electronic terminal of the first member The value is, in the electronic terminal of the first member, the first OTP generating function, the second OTP generating function, and the first authentication number m pre-stored in a memory of the first member's electronic terminal. and after the first calculated value x and the second calculated value y are calculated based on the second authentication number k, the component value located in the (x+1) row (y+1) column in the substitution matrix is when the extracted and generated feedback value) is received, checking whether the first feedback value matches the first random value, and if it is confirmed that the first feedback value matches the first random value, the It may include the step of completing the authentication of the first member's electronic terminal.
이때, 본 발명의 일실시예에 따르면, 상기 제1 회원의 전자 단말은 메모리 상에 상기 제1 OTP 생성 함수, 상기 제2 OTP 생성 함수, 상기 제1 인증용 숫자 m 및 상기 제2 인증용 숫자 k를 사전 저장하고 있고, 상기 금 판매 서버로부터 상기 치환 행렬이 수신되면, 상기 제1 OTP 생성 함수를 기초로 상기 제1 일회용 인증 번호를 생성한 후, 상기 제1 일회용 인증 번호를 피제수로, 상기 제1 인증용 숫자 m을 제수로 하는 모듈로 연산을 수행함으로써, 상기 제1 연산 값 x를 산출하고, 상기 제2 OTP 생성 함수를 기초로 상기 제2 일회용 인증 번호를 생성한 후, 상기 제2 일회용 인증 번호를 피제수로, 상기 제2 인증용 숫자 k를 제수로 하는 모듈로 연산을 수행함으로써, 상기 제2 연산 값 y를 산출하며, 상기 제1 연산 값 x와 상기 제2 연산 값 y를 기초로, 상기 치환 행렬에서 (x+1)행(y+1)열에 위치하는 성분 값을 상기 제1 피드백 값으로 추출한 후, 상기 제1 피드백 값을 상기 금 판매 서버로 전송할 수 있다. At this time, according to an embodiment of the present invention, the electronic terminal of the first member stores the first OTP generating function, the second OTP generating function, the first authentication number m and the second authentication number in a memory. k is pre-stored, and when the substitution matrix is received from the gold selling server, the first one-time authentication number is generated based on the first OTP generation function, and then the first one-time authentication number is used as a dividend, the By performing a modulo operation by dividing the first authentication number m as a divisor, the first operation value x is calculated, and after generating the second one-time authentication number based on the second OTP generation function, the second By performing a modulo operation in which the one-time authentication number is a dividend and the second authentication number k is a divisor, the second operation value y is calculated, and based on the first operation value x and the second operation value y , after extracting a component value located in a (x+1) row (y+1) column in the substitution matrix as the first feedback value, the first feedback value may be transmitted to the gold selling server.
이상, 도 2를 참조하여 본 발명의 일실시예에 따른 현금성 포인트를 이용하여 금을 구매할 수 있도록 지원하는 금 판매 서버의 동작 방법에 대해 설명하였다. 여기서, 본 발명의 일실시예에 따른 상기 금 판매 서버의 동작 방법은 도 1을 이용하여 설명한 금 판매 서버(110)의 동작에 대한 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.As described above, with reference to FIG. 2 , a method of operating a gold sales server supporting a purchase of gold using cashable points according to an embodiment of the present invention has been described. Here, since the method of operating the gold selling server according to an embodiment of the present invention may correspond to the configuration of the operation of the
본 발명의 일실시예에 따른 현금성 포인트를 이용하여 금을 구매할 수 있도록 지원하는 금 판매 서버의 동작 방법의 동작 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.The operating method of the operating method of the gold selling server supporting the purchase of gold using cash points according to an embodiment of the present invention may be implemented as a computer program stored in a storage medium for execution through combination with a computer. .
또한, 본 발명의 일실시예에 따른 현금성 포인트를 이용하여 금을 구매할 수 있도록 지원하는 금 판매 서버의 동작 방법의 동작 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.In addition, the operating method of the operating method of the gold sales server supporting the purchase of gold using cash points according to an embodiment of the present invention is implemented in the form of a program command that can be executed through various computer means and is computer readable may be recorded on the medium. The computer-readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the present invention, or may be known and available to those skilled in the art of computer software. Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic such as floppy disks. - includes magneto-optical media, and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.As described above, in the present invention, specific matters such as specific components, etc., and limited embodiments and drawings have been described, but these are only provided to help a more general understanding of the present invention, and the present invention is not limited to the above embodiments. , various modifications and variations are possible from these descriptions by those of ordinary skill in the art to which the present invention pertains.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.Therefore, the spirit of the present invention should not be limited to the described embodiments, and not only the claims to be described later, but also all those with equivalent or equivalent modifications to the claims will be said to belong to the scope of the spirit of the present invention. .
110: 현금성 포인트를 이용하여 금을 구매할 수 있도록 지원하는 금 판매 서버
111: 테이블 유지부 112: 회원 정보 데이터베이스
113: 금액 확인부 114: 제1 데이터베이스 갱신부
115: 메시지 전송부 116: 트랜잭션 생성부
117: 등록 요청부 118: 개인키 저장부
119: 토큰 데이터베이스 120: 코드 전송부
121: 토큰 전송부 122: 인출 승인부
123: 제2 데이터베이스 갱신부 124: 토큰 개인부
125: OTP 저장부 126: 인증용 숫자 저장부
127: 인증 이벤트 발생부 128: 연산 값 산출부
129: 랜덤 생성부 130: 피드백 값 요청부
131: 확인부 132: 인증 완료부
100: 블록체인 네트워크
101, 102, 103, 104, 105, 106: 복수의 노드 장치들
140: 제1 회원 141: 제1 회원의 전자 단말
150: 골드바 인출 장치110: A gold sales server that supports purchasing gold using cashable points
111: table maintenance unit 112: member information database
113: amount confirmation unit 114: first database update unit
115: message transmitting unit 116: transaction generating unit
117: registration request unit 118: private key storage unit
119: token database 120: code transfer unit
121: token transmission unit 122: withdrawal approval unit
123: second database update unit 124: token private unit
125: OTP storage 126: number storage for authentication
127: authentication event generation unit 128: calculation value calculation unit
129: random generation unit 130: feedback value request unit
131: confirmation unit 132: authentication completion unit
100: Blockchain Network
101, 102, 103, 104, 105, 106: multiple node devices
140: first member 141: electronic terminal of the first member
150: gold bar withdrawal device
Claims (14)
사전 설정된 단위 무게 당 금 판매 단가가 기록되어 있는 판매 단가 테이블을 저장하여 유지하는 테이블 유지부;
복수의 회원들 각각의 회원 식별 정보, 상기 복수의 회원들 각각이 보유하고 있는 금의 무게 정보 및 상기 복수의 회원들 각각이 보유하고 있는 현금성 포인트 정보가 저장되어 있는 회원 정보 데이터베이스;
전자 서명을 위한 사전 설정된 개인키 - 상기 개인키와 키쌍을 구성하는 공개키는, 복수의 골드바들이 보관되어 있는 골드바 인출 장치에 사전 배포되어 있음 - 가 저장되어 있는 개인키 저장부;
상기 복수의 회원들 각각의 회원 식별 정보와 상기 복수의 회원들 각각에 대응되는 디지털 골드 토큰 - 상기 복수의 회원들 각각에 대응되는 디지털 골드 토큰에는 각 회원이 보유하고 있는 금의 무게 정보에 대한 데이터가 사전 설정된 해시 함수에 입력으로 인가되어 생성된 해시 값과, 상기 해시 값이 상기 개인키로 암호화되어 생성된 전자 서명 값이 포함되어 있음 - 이 저장되어 있는 토큰 데이터베이스;
상기 복수의 회원들 중 어느 한 명인 제1 회원의 전자 단말로부터 제1 무게만큼의 금 구매 요청이 수신되면, 상기 제1 회원의 전자 단말에 대한 인증을 수행한 후, 상기 판매 단가 테이블을 참조하여 상기 제1 무게만큼의 금에 대한 판매 금액을 확인하는 금액 확인부;
상기 제1 무게만큼의 금에 대한 판매 금액이 제1 금액인 것으로 확인되면, 상기 회원 정보 데이터베이스에 저장되어 있는 상기 제1 회원이 보유하고 있는 현금성 포인트 정보에서, 상기 제1 회원이 보유하고 있는 현금성 포인트를 상기 제1 금액만큼 차감하고, 상기 회원 정보 데이터베이스에 저장되어 있는 상기 제1 회원이 보유하고 있는 금의 무게 정보에서, 상기 제1 회원이 보유하고 있는 금의 무게를 상기 제1 무게만큼 증가시킴으로써, 상기 회원 정보 데이터베이스를 갱신하는 제1 데이터베이스 갱신부;
상기 회원 정보 데이터베이스가 갱신되면, 상기 제1 회원의 전자 단말로 상기 제1 무게만큼의 금에 대한 구매가 완료되었음을 지시하는 구매 완료 메시지를 전송하는 메시지 전송부;
상기 제1 회원의 전자 단말로부터 상기 골드바 인출 장치에 인식시키기 위한 2차원 코드의 발행 요청이 수신되면, 상기 제1 회원의 회원 식별 정보가 포함된 2차원 코드를 생성하여 상기 제1 회원의 전자 단말로 전송하는 코드 전송부;
상기 2차원 코드가 상기 제1 회원의 전자 단말로 전송 완료된 이후, 상기 제1 회원이 상기 제1 회원의 전자 단말을 통해 표시되는 상기 2차원 코드를 상기 골드바 인출 장치에 인식시키고, 상기 복수의 골드바들 중 어느 하나의 제1 골드바를 인출하기 위한 인출 명령을 상기 골드바 인출 장치에 인가함에 따라, 상기 골드바 인출 장치로부터 상기 제1 골드바에 대한 인출 승인 요청과 함께 상기 제1 골드바의 무게 정보 및 상기 제1 회원의 회원 식별 정보가 수신되면, 상기 토큰 데이터베이스로부터 상기 제1 회원에 대응되는 제1 디지털 골드 토큰을 추출한 후, 상기 골드바 인출 장치로 상기 제1 디지털 골드 토큰을 상기 골드바 인출 장치로 전송하면서, 상기 제1 디지털 골드 토큰에 대한 검증을 수행할 것을 요청하는 토큰 전송부;
상기 제1 디지털 골드 토큰이 상기 골드바 인출 장치로 전송 완료된 이후, 상기 골드바 인출 장치로부터 상기 제1 디지털 골드 토큰에 대한 검증이 완료되었음을 지시하는 검증 완료 메시지 - 상기 검증 완료 메시지는 상기 골드바 인출 장치에 상기 제1 디지털 골드 토큰이 수신된 이후, 상기 골드바 인출 장치에서, 상기 제1 디지털 골드 토큰에 포함되어 있는 전자 서명 값이 상기 공개키로 복호화되어 복호화 값이 생성되고, 상기 복호화 값이 상기 제1 디지털 골드 토큰에 포함되어 있는 해시 값과 일치하는 것으로 확인됨에 따라, 상기 제1 디지털 골드 토큰에 대한 검증이 완료되었음을 지시하기 위해 생성된 메시지를 의미함 - 가 수신되면, 상기 회원 정보 데이터베이스를 참조하여 상기 제1 회원이 보유하고 있는 금의 무게가 상기 제1 골드바의 무게 이상인지 여부를 확인하고, 상기 제1 회원이 보유하고 있는 금의 무게가 상기 제1 골드바의 무게 이상인 것으로 확인되는 경우, 상기 제1 골드바에 대한 인출 승인 처리를 완료한 후, 상기 골드바 인출 장치로 상기 제1 골드바에 대한 인출 승인 완료 메시지를 전송하는 인출 승인부;
상기 인출 승인 완료 메시지가 상기 골드바 인출 장치로 전송 완료되면, 상기 회원 정보 데이터베이스에 저장되어 있는 상기 제1 회원이 보유하고 있는 금의 무게 정보에서, 상기 제1 회원이 보유하고 있는 금의 무게를 상기 제1 골드바의 무게만큼 차감함으로써, 상기 회원 정보 데이터베이스를 갱신하는 제2 데이터베이스 갱신부; 및
상기 회원 정보 데이터베이스가 갱신되면, 갱신된 상기 제1 회원이 보유하고 있는 금의 무게 정보에 대한 데이터를 상기 해시 함수에 입력으로 인가하여 제1 해시 값을 생성하고, 상기 제1 해시 값을 상기 개인키로 암호화하여 제1 전자 서명 값을 생성하며, 상기 제1 해시 값과 상기 제1 전자 서명 값이 포함된 제2 디지털 골드 토큰을 생성한 후, 상기 토큰 데이터베이스에 저장되어 있는 상기 제1 회원에 대응되는 상기 제1 디지털 골드 토큰을 상기 제2 디지털 골드 토큰으로 대체함으로써, 상기 토큰 데이터베이스를 갱신하는 토큰 갱신부
를 포함하고,
상기 금액 확인부는
상기 제1 회원의 전자 단말과 사전 공유하고 있는 사전 설정된 제1 OTP(One Time Password) 생성 함수와 사전 설정된 제2 OTP 생성 함수가 저장되어 있는 OTP 저장부;
상기 제1 회원의 전자 단말과 사전 공유하고 있는 사전 설정된 제1 인증용 숫자 m(m은 2 이상의 자연수임)과 사전 설정된 제2 인증용 숫자 k(k는 m과 다른 2 이상의 자연수임)가 저장되어 있는 인증용 숫자 저장부;
상기 제1 회원의 전자 단말로부터 상기 제1 무게만큼의 금 구매 요청이 수신되면, 상기 제1 회원의 전자 단말에 대한 인증을 수행하기 위한 인증 이벤트를 발생시키는 인증 이벤트 발생부;
상기 인증 이벤트가 발생되면, 상기 제1 OTP 생성 함수를 기초로 제1 일회용 인증 번호를 생성한 후, 상기 제1 일회용 인증 번호를 피제수로, 상기 제1 인증용 숫자 m을 제수로 하는 모듈로(Modulo) 연산을 수행함으로써, 제1 연산 값 x를 산출하고, 상기 제2 OTP 생성 함수를 기초로 제2 일회용 인증 번호를 생성한 후 상기 제2 일회용 인증 번호를 피제수로, 상기 제2 인증용 숫자 k를 제수로 하는 모듈로 연산을 수행함으로써, 제2 연산 값 y를 산출하는 연산 값 산출부;
랜덤한 성분 값들로 구성된 m x k의 크기를 갖는 랜덤 행렬을 생성하고, 제1 랜덤 값을 랜덤하게 생성하는 랜덤 생성부;
상기 랜덤 행렬에서 (x+1)행(y+1)열에 위치하는 성분을 상기 제1 랜덤 값으로 치환함으로써, m x k의 크기를 갖는 치환 행렬을 생성하고, 상기 제1 회원의 전자 단말로 상기 치환 행렬을 전송하면서, 상기 치환 행렬에 대응되는 피드백 값의 전송을 요청하는 피드백 값 요청부;
상기 제1 회원의 전자 단말로부터 상기 치환 행렬에 대응되는 피드백 값으로 제1 피드백 값 - 상기 제1 피드백 값은 상기 제1 회원의 전자 단말에서, 상기 제1 회원의 전자 단말의 메모리 상에 사전 저장되어 있는 상기 제1 OTP 생성 함수, 상기 제2 OTP 생성 함수, 상기 제1 인증용 숫자 m 및 상기 제2 인증용 숫자 k를 기초로 상기 제1 연산 값 x와 상기 제2 연산 값 y가 산출된 후, 상기 치환 행렬에서 (x+1)행(y+1)열에 위치하는 성분 값이 추출되어 생성된 피드백 값임 - 이 수신되면, 상기 제1 피드백 값이 상기 제1 랜덤 값과 일치하는지 여부를 확인하는 확인부; 및
상기 제1 피드백 값이 상기 제1 랜덤 값과 일치하는 것으로 확인되면, 상기 제1 회원의 전자 단말에 대한 인증을 완료하는 인증 완료부
를 포함하며,
상기 제1 회원의 전자 단말은
메모리 상에 상기 제1 OTP 생성 함수, 상기 제2 OTP 생성 함수, 상기 제1 인증용 숫자 m 및 상기 제2 인증용 숫자 k를 사전 저장하고 있고, 상기 금 판매 서버로부터 상기 치환 행렬이 수신되면, 상기 제1 OTP 생성 함수를 기초로 상기 제1 일회용 인증 번호를 생성한 후, 상기 제1 일회용 인증 번호를 피제수로, 상기 제1 인증용 숫자 m을 제수로 하는 모듈로 연산을 수행함으로써, 상기 제1 연산 값 x를 산출하고, 상기 제2 OTP 생성 함수를 기초로 상기 제2 일회용 인증 번호를 생성한 후, 상기 제2 일회용 인증 번호를 피제수로, 상기 제2 인증용 숫자 k를 제수로 하는 모듈로 연산을 수행함으로써, 상기 제2 연산 값 y를 산출하며, 상기 제1 연산 값 x와 상기 제2 연산 값 y를 기초로, 상기 치환 행렬에서 (x+1)행(y+1)열에 위치하는 성분 값을 상기 제1 피드백 값으로 추출한 후, 상기 제1 피드백 값을 상기 금 판매 서버로 전송하는 것을 특징으로 하는 금 판매 서버.In the gold sales server that supports to purchase gold using cash points,
a table holding unit for storing and maintaining a unit price table in which a unit price of gold per unit weight preset is recorded;
a member information database in which member identification information of each of a plurality of members, weight information of gold held by each of the plurality of members, and cashable point information held by each of the plurality of members are stored;
a private key storage unit storing a preset private key for electronic signature, wherein the private key and the public key constituting the key pair are pre-distributed to a gold bar withdrawal device in which a plurality of gold bars are stored;
Member identification information of each of the plurality of members and a digital gold token corresponding to each of the plurality of members - In the digital gold token corresponding to each of the plurality of members, data on weight information of gold held by each member a hash value generated by being applied as an input to a preset hash function, and an electronic signature value generated by encrypting the hash value with the private key - a token database in which this is stored;
When a request to purchase gold equal to a first weight is received from the electronic terminal of a first member, one of the plurality of members, authentication is performed on the electronic terminal of the first member, and then, referring to the sales unit price table, an amount checking unit for checking a sales amount for gold equal to the first weight;
When it is confirmed that the sales amount for gold equal to the first weight is the first amount, in the cashability point information held by the first member stored in the member information database, the cashability held by the first member Points are deducted by the first amount, and from the weight information of gold held by the first member stored in the member information database, the weight of gold held by the first member is increased by the first weight By doing so, a first database update unit for updating the member information database;
a message transmission unit for transmitting a purchase completion message indicating that the purchase of gold equal to the first weight has been completed to the electronic terminal of the first member when the member information database is updated;
When a request for issuing a two-dimensional code for recognizing the gold bar withdrawal device is received from the electronic terminal of the first member, a two-dimensional code including member identification information of the first member is generated and the electronic terminal of the first member a code transmission unit to transmit to;
After the two-dimensional code is transmitted to the electronic terminal of the first member, the first member recognizes the two-dimensional code displayed through the electronic terminal of the first member to the gold bar withdrawal device, and the plurality of gold bars When a withdrawal command for withdrawing one of the first gold bars is applied to the gold bar withdrawing device, the gold bar withdrawing device requests approval for withdrawal of the first gold bar, weight information of the first gold bar and the first gold bar. When the member identification information of the first member is received, the first digital gold token corresponding to the first member is extracted from the token database, and the first digital gold token is transmitted to the gold bar withdrawal device. a token transmitter requesting verification of the first digital gold token;
After the transmission of the first digital gold token to the gold bar withdrawal device is completed, a verification completion message indicating that the verification of the first digital gold token is completed from the gold bar withdrawal device - The verification completion message is transmitted to the gold bar withdrawal device After the first digital gold token is received, in the gold bar withdrawal device, the digital signature value included in the first digital gold token is decrypted with the public key to generate a decrypted value, and the decrypted value is the first digital gold As it is confirmed that it matches the hash value included in the token, it means a message generated to indicate that the verification of the first digital gold token is completed. 1 It is checked whether the weight of gold held by the member is equal to or greater than the weight of the first gold bar, and when it is confirmed that the weight of gold held by the first member is equal to or greater than the weight of the first gold bar, the first gold bar a withdrawal approval unit for transmitting a withdrawal approval completion message for the first gold bar to the gold bar withdrawal device after completing withdrawal approval processing for the gold bar;
When the withdrawal approval completion message is transmitted to the gold bar withdrawal device, the weight of the gold held by the first member is calculated from the weight information of the gold held by the first member stored in the member information database. a second database update unit for updating the member information database by subtracting the weight of the first gold bar; and
When the member information database is updated, a first hash value is generated by applying the updated data on the weight information of gold held by the first member as an input to the hash function, and the first hash value is applied to the individual Generates a first digital signature value by encryption with a key, generates a second digital gold token including the first hash value and the first digital signature value, and corresponds to the first member stored in the token database A token update unit that updates the token database by replacing the first digital gold token that becomes the second digital gold token with the second digital gold token.
including,
The amount confirmation unit
an OTP storage unit storing a preset first OTP (One Time Password) generating function and a preset second OTP generating function shared in advance with the electronic terminal of the first member;
A preset number m for first authentication (m is a natural number greater than or equal to 2) and a preset number k for second authentication (k is a natural number greater than or equal to 2 different from m) shared with the electronic terminal of the first member in advance are stored a number storage unit for authentication;
an authentication event generating unit that generates an authentication event for performing authentication of the first member's electronic terminal when a request to purchase gold equal to the first weight is received from the first member's electronic terminal;
When the authentication event occurs, a first one-time authentication number is generated based on the first OTP generation function, and a modulo ( Modulo) calculation is performed to calculate a first calculated value x, and after generating a second one-time authentication number based on the second OTP generation function, the second one-time authentication number is a dividend, and the second authentication number is an arithmetic value calculator for calculating a second arithmetic value y by performing a modulo arithmetic operation of k as a divisor;
a random generator generating a random matrix having a size of mxk composed of random component values and randomly generating a first random value;
By substituting the first random value for the component located in the (x+1) row (y+1) column in the random matrix, a substitution matrix having a size of mxk is generated, and the substitution is performed by the electronic terminal of the first member a feedback value requesting unit for requesting transmission of a feedback value corresponding to the permutation matrix while transmitting the matrix;
A first feedback value as a feedback value corresponding to the substitution matrix from the electronic terminal of the first member - The first feedback value is pre-stored in a memory of the electronic terminal of the first member in the electronic terminal of the first member The first calculated value x and the second calculated value y are calculated based on the first OTP generating function, the second OTP generating function, the first authentication number m, and the second authentication number k. Then, the feedback value generated by extracting the component value located in the (x+1) row (y+1) column in the substitution matrix - is received, it is determined whether the first feedback value matches the first random value a confirmation unit to confirm; and
When it is confirmed that the first feedback value matches the first random value, an authentication completion unit that completes the authentication of the electronic terminal of the first member
includes,
The electronic terminal of the first member is
The first OTP generating function, the second OTP generating function, the first authentication number m and the second authentication number k are pre-stored in a memory, and when the permutation matrix is received from the gold selling server, After generating the first one-time authentication number based on the first OTP generation function, by performing a modulo operation in which the first one-time authentication number is a dividend and the first authentication number m is a divisor, the second A module that calculates one operation value x, generates the second one-time authentication number based on the second OTP generation function, and divides the second one-time authentication number as a dividend and the second authentication number k as a divisor By performing an operation with and extracting a component value to be used as the first feedback value, and then transmitting the first feedback value to the gold selling server.
상기 구매 완료 메시지가 상기 제1 회원의 전자 단말로 전송 완료되면, 상기 제1 회원의 회원 식별 정보, 상기 제1 무게에 대한 정보 및 상기 제1 금액에 대한 정보가 포함된 금 거래 트랜잭션을 생성하는 트랜잭션 생성부; 및
블록체인 네트워크를 구성하는 복수의 노드 장치들 중 어느 하나인 제1 노드 장치로 상기 금 거래 트랜잭션을 전송하면서, 상기 금 거래 트랜잭션의 상기 블록체인 네트워크로의 등록 요청을 전송하는 등록 요청부
를 더 포함하고,
상기 제1 노드 장치는
상기 금 판매 서버로부터 상기 금 거래 트랜잭션이 수신되면, 상기 제1 노드 장치의 메모리 상에 저장되어 있는 블록체인 데이터를 기초로, 상기 금 거래 트랜잭션이 포함된 블록을 생성하고, 상기 블록을 상기 블록체인 데이터에 체인으로 연결한 후, 상기 블록을 상기 블록체인 네트워크를 통해, 상기 복수의 노드 장치들 중 상기 제1 노드 장치를 제외한 나머지 노드 장치들로 전파하는 것을 특징으로 하는 금 판매 서버. According to claim 1,
generating a gold transaction transaction including member identification information of the first member, information on the first weight, and information on the first amount when the purchase completion message is transmitted to the electronic terminal of the first member transaction generator; and
A registration request unit that transmits a registration request of the gold transaction transaction to the blockchain network while transmitting the gold transaction transaction to a first node device that is one of a plurality of node devices constituting the blockchain network
further comprising,
The first node device
When the gold transaction transaction is received from the gold selling server, a block including the gold transaction transaction is generated based on the block chain data stored in the memory of the first node device, and the block is transferred to the block chain After chaining the data, the block is propagated to other node devices except for the first node device among the plurality of node devices through the block chain network.
상기 골드바 인출 장치는
상기 복수의 골드바들이 보관되어 있는 골드바 보관부, 2차원 코드를 인식하기 위한 코드 인식부 및 골드바를 배출하기 위한 골드바 배출부로 구성되며, 상기 제1 회원이 상기 제1 회원의 전자 단말을 통해 표시되는 상기 2차원 코드를 상기 코드 인식부에 인식시키고, 상기 제1 골드바를 인출하기 위한 인출 버튼을 누름으로써, 상기 제1 골드바에 대한 인출 명령을 상기 골드바 인출 장치에 인가하면, 상기 코드 인식부를 통해 상기 2차원 코드를 인식하여 상기 2차원 코드로부터 상기 제1 회원의 회원 식별 정보를 추출한 후, 상기 금 판매 서버로 상기 제1 골드바에 대한 인출 승인 요청과 함께 상기 제1 골드바의 무게 정보 및 상기 제1 회원의 회원 식별 정보를 전송하고, 상기 금 판매 서버로부터 상기 제1 골드바에 대한 인출 승인 완료 메시지가 수신되면, 상기 골드바 보관부에 보관되어 있는 상기 복수의 골드바들 중 상기 제1 골드바를 상기 골드바 배출부를 통해 배출하는 것을 특징으로 하는 금 판매 서버. According to claim 1,
The gold bar withdrawal device is
It consists of a gold bar storage unit in which the plurality of gold bars are stored, a code recognition unit for recognizing a two-dimensional code, and a gold bar discharge unit for discharging gold bars, wherein the first member is displayed through the first member's electronic terminal. When a withdrawal command for the first gold bar is applied to the gold bar withdrawal device by recognizing the two-dimensional code by the code recognition unit and pressing a withdrawal button for withdrawing the first gold bar, the code recognition unit allows the withdrawal of the first gold bar. After recognizing a two-dimensional code and extracting member identification information of the first member from the two-dimensional code, the gold sales server receives a request for approval for withdrawal of the first gold bar, weight information of the first gold bar, and the first When the member's identification information is transmitted and a withdrawal approval completion message for the first gold bar is received from the gold selling server, the first gold bar is discharged from among the plurality of gold bars stored in the gold bar storage unit. Gold sales server, characterized in that it is discharged through wealth.
테이블 유지부가, 사전 설정된 단위 무게 당 금 판매 단가가 기록되어 있는 판매 단가 테이블을 저장하여 유지하는 단계;
복수의 회원들 각각의 회원 식별 정보, 상기 복수의 회원들 각각이 보유하고 있는 금의 무게 정보 및 상기 복수의 회원들 각각이 보유하고 있는 현금성 포인트 정보가 저장되어 있는 회원 정보 데이터베이스를 유지하는 단계;
전자 서명을 위한 사전 설정된 개인키 - 상기 개인키와 키쌍을 구성하는 공개키는, 복수의 골드바들이 보관되어 있는 골드바 인출 장치에 사전 배포되어 있음 - 가 저장되어 있는 개인키 저장부를 유지하는 단계;
상기 복수의 회원들 각각의 회원 식별 정보와 상기 복수의 회원들 각각에 대응되는 디지털 골드 토큰 - 상기 복수의 회원들 각각에 대응되는 디지털 골드 토큰에는 각 회원이 보유하고 있는 금의 무게 정보에 대한 데이터가 사전 설정된 해시 함수에 입력으로 인가되어 생성된 해시 값과, 상기 해시 값이 상기 개인키로 암호화되어 생성된 전자 서명 값이 포함되어 있음 - 이 저장되어 있는 토큰 데이터베이스를 유지하는 단계;
상기 복수의 회원들 중 어느 한 명인 제1 회원의 전자 단말로부터 제1 무게만큼의 금 구매 요청이 수신되면, 금액 확인부가, 상기 제1 회원의 전자 단말에 대한 인증을 수행한 후, 상기 판매 단가 테이블을 참조하여 상기 제1 무게만큼의 금에 대한 판매 금액을 확인하는 단계;
상기 제1 무게만큼의 금에 대한 판매 금액이 제1 금액인 것으로 확인되면, 제1 데이터베이스 갱신부가, 상기 회원 정보 데이터베이스에 저장되어 있는 상기 제1 회원이 보유하고 있는 현금성 포인트 정보에서, 상기 제1 회원이 보유하고 있는 현금성 포인트를 상기 제1 금액만큼 차감하고, 상기 회원 정보 데이터베이스에 저장되어 있는 상기 제1 회원이 보유하고 있는 금의 무게 정보에서, 상기 제1 회원이 보유하고 있는 금의 무게를 상기 제1 무게만큼 증가시킴으로써, 상기 회원 정보 데이터베이스를 갱신하는 단계;
상기 회원 정보 데이터베이스가 갱신되면, 메시지 전송부가, 상기 제1 회원의 전자 단말로 상기 제1 무게만큼의 금에 대한 구매가 완료되었음을 지시하는 구매 완료 메시지를 전송하는 단계;
상기 제1 회원의 전자 단말로부터 상기 골드바 인출 장치에 인식시키기 위한 2차원 코드의 발행 요청이 수신되면, 코드 전송부가, 상기 제1 회원의 회원 식별 정보가 포함된 2차원 코드를 생성하여 상기 제1 회원의 전자 단말로 전송하는 단계;
상기 2차원 코드가 상기 제1 회원의 전자 단말로 전송 완료된 이후, 상기 제1 회원이 상기 제1 회원의 전자 단말을 통해 표시되는 상기 2차원 코드를 상기 골드바 인출 장치에 인식시키고, 상기 복수의 골드바들 중 어느 하나의 제1 골드바를 인출하기 위한 인출 명령을 상기 골드바 인출 장치에 인가함에 따라, 상기 골드바 인출 장치로부터 상기 제1 골드바에 대한 인출 승인 요청과 함께 상기 제1 골드바의 무게 정보 및 상기 제1 회원의 회원 식별 정보가 수신되면, 토큰 전송부가, 상기 토큰 데이터베이스로부터 상기 제1 회원에 대응되는 제1 디지털 골드 토큰을 추출한 후, 상기 골드바 인출 장치로 상기 제1 디지털 골드 토큰을 상기 골드바 인출 장치로 전송하면서, 상기 제1 디지털 골드 토큰에 대한 검증을 수행할 것을 요청하는 단계;
상기 제1 디지털 골드 토큰이 상기 골드바 인출 장치로 전송 완료된 이후, 상기 골드바 인출 장치로부터 상기 제1 디지털 골드 토큰에 대한 검증이 완료되었음을 지시하는 검증 완료 메시지 - 상기 검증 완료 메시지는 상기 골드바 인출 장치에 상기 제1 디지털 골드 토큰이 수신된 이후, 상기 골드바 인출 장치에서, 상기 제1 디지털 골드 토큰에 포함되어 있는 전자 서명 값이 상기 공개키로 복호화되어 복호화 값이 생성되고, 상기 복호화 값이 상기 제1 디지털 골드 토큰에 포함되어 있는 해시 값과 일치하는 것으로 확인됨에 따라, 상기 제1 디지털 골드 토큰에 대한 검증이 완료되었음을 지시하기 위해 생성된 메시지를 의미함 - 가 수신되면, 인출 승인부가, 상기 회원 정보 데이터베이스를 참조하여 상기 제1 회원이 보유하고 있는 금의 무게가 상기 제1 골드바의 무게 이상인지 여부를 확인하고, 상기 제1 회원이 보유하고 있는 금의 무게가 상기 제1 골드바의 무게 이상인 것으로 확인되는 경우, 상기 제1 골드바에 대한 인출 승인 처리를 완료한 후, 상기 골드바 인출 장치로 상기 제1 골드바에 대한 인출 승인 완료 메시지를 전송하는 단계;
상기 인출 승인 완료 메시지가 상기 골드바 인출 장치로 전송 완료되면, 제2 데이터베이스 갱신부가, 상기 회원 정보 데이터베이스에 저장되어 있는 상기 제1 회원이 보유하고 있는 금의 무게 정보에서, 상기 제1 회원이 보유하고 있는 금의 무게를 상기 제1 골드바의 무게만큼 차감함으로써, 상기 회원 정보 데이터베이스를 갱신하는 단계; 및
상기 회원 정보 데이터베이스가 갱신되면, 토큰 갱신부가, 갱신된 상기 제1 회원이 보유하고 있는 금의 무게 정보에 대한 데이터를 상기 해시 함수에 입력으로 인가하여 제1 해시 값을 생성하고, 상기 제1 해시 값을 상기 개인키로 암호화하여 제1 전자 서명 값을 생성하며, 상기 제1 해시 값과 상기 제1 전자 서명 값이 포함된 제2 디지털 골드 토큰을 생성한 후, 상기 토큰 데이터베이스에 저장되어 있는 상기 제1 회원에 대응되는 상기 제1 디지털 골드 토큰을 상기 제2 디지털 골드 토큰으로 대체함으로써, 상기 토큰 데이터베이스를 갱신하는 단계
를 포함하고,
상기 제1 무게만큼의 금에 대한 판매 금액을 확인하는 단계는
상기 제1 회원의 전자 단말과 사전 공유하고 있는 사전 설정된 제1 OTP(One Time Password) 생성 함수와 사전 설정된 제2 OTP 생성 함수가 저장되어 있는 OTP 저장부를 유지하는 단계;
상기 제1 회원의 전자 단말과 사전 공유하고 있는 사전 설정된 제1 인증용 숫자 m(m은 2 이상의 자연수임)과 사전 설정된 제2 인증용 숫자 k(k는 m과 다른 2 이상의 자연수임)가 저장되어 있는 인증용 숫자 저장부를 유지하는 단계;
상기 제1 회원의 전자 단말로부터 상기 제1 무게만큼의 금 구매 요청이 수신되면, 인증 이벤트 발생부가, 상기 제1 회원의 전자 단말에 대한 인증을 수행하기 위한 인증 이벤트를 발생시키는 단계;
상기 인증 이벤트가 발생되면, 연산 값 산출부가, 상기 제1 OTP 생성 함수를 기초로 제1 일회용 인증 번호를 생성한 후, 상기 제1 일회용 인증 번호를 피제수로, 상기 제1 인증용 숫자 m을 제수로 하는 모듈로(Modulo) 연산을 수행함으로써, 제1 연산 값 x를 산출하고, 상기 제2 OTP 생성 함수를 기초로 제2 일회용 인증 번호를 생성한 후 상기 제2 일회용 인증 번호를 피제수로, 상기 제2 인증용 숫자 k를 제수로 하는 모듈로 연산을 수행함으로써, 제2 연산 값 y를 산출하는 단계;
랜덤 생성부가, 랜덤한 성분 값들로 구성된 m x k의 크기를 갖는 랜덤 행렬을 생성하고, 제1 랜덤 값을 랜덤하게 생성하는 단계;
피드백 값 요청부가, 상기 랜덤 행렬에서 (x+1)행(y+1)열에 위치하는 성분을 상기 제1 랜덤 값으로 치환함으로써, m x k의 크기를 갖는 치환 행렬을 생성하고, 상기 제1 회원의 전자 단말로 상기 치환 행렬을 전송하면서, 상기 치환 행렬에 대응되는 피드백 값의 전송을 요청하는 단계;
상기 제1 회원의 전자 단말로부터 상기 치환 행렬에 대응되는 피드백 값으로 제1 피드백 값 - 상기 제1 피드백 값은 상기 제1 회원의 전자 단말에서, 상기 제1 회원의 전자 단말의 메모리 상에 사전 저장되어 있는 상기 제1 OTP 생성 함수, 상기 제2 OTP 생성 함수, 상기 제1 인증용 숫자 m 및 상기 제2 인증용 숫자 k를 기초로 상기 제1 연산 값 x와 상기 제2 연산 값 y가 산출된 후, 상기 치환 행렬에서 (x+1)행(y+1)열에 위치하는 성분 값이 추출되어 생성된 피드백 값임 - 이 수신되면, 확인부가, 상기 제1 피드백 값이 상기 제1 랜덤 값과 일치하는지 여부를 확인하는 단계; 및
상기 제1 피드백 값이 상기 제1 랜덤 값과 일치하는 것으로 확인되면, 인증 완료부가, 상기 제1 회원의 전자 단말에 대한 인증을 완료하는 단계
를 포함하며,
상기 제1 회원의 전자 단말은
메모리 상에 상기 제1 OTP 생성 함수, 상기 제2 OTP 생성 함수, 상기 제1 인증용 숫자 m 및 상기 제2 인증용 숫자 k를 사전 저장하고 있고, 상기 금 판매 서버로부터 상기 치환 행렬이 수신되면, 상기 제1 OTP 생성 함수를 기초로 상기 제1 일회용 인증 번호를 생성한 후, 상기 제1 일회용 인증 번호를 피제수로, 상기 제1 인증용 숫자 m을 제수로 하는 모듈로 연산을 수행함으로써, 상기 제1 연산 값 x를 산출하고, 상기 제2 OTP 생성 함수를 기초로 상기 제2 일회용 인증 번호를 생성한 후, 상기 제2 일회용 인증 번호를 피제수로, 상기 제2 인증용 숫자 k를 제수로 하는 모듈로 연산을 수행함으로써, 상기 제2 연산 값 y를 산출하며, 상기 제1 연산 값 x와 상기 제2 연산 값 y를 기초로, 상기 치환 행렬에서 (x+1)행(y+1)열에 위치하는 성분 값을 상기 제1 피드백 값으로 추출한 후, 상기 제1 피드백 값을 상기 금 판매 서버로 전송하는 것을 특징으로 하는 금 판매 서버의 동작 방법.In the operating method of a gold sales server that supports the purchase of gold using cash points,
storing and maintaining, by the table maintaining unit, a sales unit price table in which a predetermined unit price of gold per unit weight is recorded;
maintaining a member information database in which member identification information of each of a plurality of members, weight information of gold held by each of the plurality of members, and cashable point information held by each of the plurality of members are stored;
maintaining a private key storage unit storing a preset private key for electronic signature, wherein the private key and the public key constituting the key pair are pre-distributed to a gold bar withdrawal device in which a plurality of gold bars are stored;
Member identification information of each of the plurality of members and a digital gold token corresponding to each of the plurality of members - In the digital gold token corresponding to each of the plurality of members, data on weight information of gold held by each member a hash value generated by being applied as an input to a preset hash function, and an electronic signature value generated by encrypting the hash value with the private key - maintaining a stored token database;
When a request to purchase gold equal to a first weight is received from the electronic terminal of the first member, which is one of the plurality of members, the amount check unit authenticates the electronic terminal of the first member, and then the selling unit price checking a sales amount for gold equal to the first weight by referring to a table;
When it is confirmed that the sales amount for gold equal to the first weight is the first amount, the first database update unit may include, in the cashable point information held by the first member stored in the member information database, the first The cashable points held by the member are deducted by the first amount, and the weight of the gold held by the first member is calculated from the weight information of the gold held by the first member stored in the member information database. updating the member information database by increasing by the first weight;
transmitting, by the message transmission unit, a purchase completion message indicating that the purchase of gold equal to the first weight has been completed, to the electronic terminal of the first member when the member information database is updated;
When a request for issuing a two-dimensional code for recognizing the gold bar withdrawal device is received from the electronic terminal of the first member, the code transmitter generates a two-dimensional code including member identification information of the first member to generate the first transmitting to the member's electronic terminal;
After the two-dimensional code is transmitted to the electronic terminal of the first member, the first member recognizes the two-dimensional code displayed through the electronic terminal of the first member to the gold bar withdrawal device, and the plurality of gold bars When a withdrawal command for withdrawing one of the first gold bars is applied to the gold bar withdrawing device, the gold bar withdrawing device requests approval for withdrawal of the first gold bar, weight information of the first gold bar and the first gold bar. When the member identification information of the first member is received, the token transmitter extracts the first digital gold token corresponding to the first member from the token database, and then transfers the first digital gold token to the gold bar withdrawal device. while transmitting to , requesting to perform verification on the first digital gold token;
After the transmission of the first digital gold token to the gold bar withdrawal device is completed, a verification completion message indicating that the verification of the first digital gold token is completed from the gold bar withdrawal device - The verification completion message is transmitted to the gold bar withdrawal device After the first digital gold token is received, in the gold bar withdrawal device, the digital signature value included in the first digital gold token is decrypted with the public key to generate a decrypted value, and the decrypted value is the first digital gold As it is confirmed that it matches the hash value included in the token, it means a message generated to indicate that the verification of the first digital gold token is completed. With reference, it is checked whether the weight of the gold held by the first member is equal to or greater than the weight of the first gold bar, and when it is confirmed that the weight of the gold held by the first member is equal to or greater than the weight of the first gold bar , transmitting a withdrawal approval completion message for the first gold bar to the gold bar withdrawal device after completing the withdrawal approval process for the first gold bar;
When the withdrawal approval completion message is transmitted to the gold bar withdrawal device, a second database update unit, in the weight information of the gold held by the first member stored in the member information database, the first member holds, updating the member information database by subtracting the weight of the gold by the weight of the first gold bar; and
When the member information database is updated, a token update unit applies the updated data on the weight information of gold held by the first member as an input to the hash function to generate a first hash value, and the first hash The value is encrypted with the private key to generate a first digital signature value, and after generating a second digital gold token including the first hash value and the first digital signature value, the second digital gold token is stored in the token database. updating the token database by replacing the first digital gold token corresponding to one member with the second digital gold token;
including,
The step of confirming the sales amount for gold equal to the first weight
maintaining an OTP storage unit in which a preset first OTP (One Time Password) generating function and a preset second OTP generating function shared in advance with the electronic terminal of the first member are stored;
A preset number m for first authentication (m is a natural number greater than or equal to 2) and a preset number k for second authentication (k is a natural number greater than or equal to 2 different from m) shared with the electronic terminal of the first member in advance are stored maintaining a numeric storage unit for authentication;
generating, by an authentication event generator, an authentication event for authenticating the electronic terminal of the first member when a request to purchase gold equal to the first weight is received from the electronic terminal of the first member;
When the authentication event occurs, the calculation value calculator generates a first one-time authentication number based on the first OTP generation function, then divides the first one-time authentication number as a dividend and divides the first authentication number m By performing a modulo operation of calculating a second operation value y by performing a modulo operation by dividing the second authentication number k as a divisor;
generating, by a random generator, a random matrix having a size of mxk composed of random component values, and randomly generating a first random value;
The feedback value requesting unit generates a permutation matrix having a size of mxk by substituting the first random value for a component located in (x+1) row (y+1) column in the random matrix, and requesting transmission of a feedback value corresponding to the permutation matrix while transmitting the permutation matrix to the electronic terminal;
A first feedback value as a feedback value corresponding to the substitution matrix from the electronic terminal of the first member - The first feedback value is pre-stored in the electronic terminal of the first member in the memory of the electronic terminal of the first member The first calculated value x and the second calculated value y are calculated based on the first OTP generation function, the second OTP generation function, the first authentication number m, and the second authentication number k. Then, the feedback value generated by extracting the component value located in the (x+1) row (y+1) column in the substitution matrix - is received, the confirmation unit, the first feedback value matches the first random value Checking whether or not; and
Completing, by an authentication completion unit, authentication of the electronic terminal of the first member when it is confirmed that the first feedback value matches the first random value
includes,
The electronic terminal of the first member is
The first OTP generating function, the second OTP generating function, the first authentication number m and the second authentication number k are pre-stored in a memory, and when the permutation matrix is received from the gold selling server, After generating the first one-time authentication number based on the first OTP generation function, by performing a modulo operation in which the first one-time authentication number is a dividend and the first authentication number m is a divisor, the second A module that calculates 1 operation value x, generates the second one-time authentication number based on the second OTP generation function, and divides the second one-time authentication number as a dividend and the second authentication number k as a divisor By performing an operation with and extracting a component value to be used as the first feedback value, and then transmitting the first feedback value to the gold selling server.
상기 구매 완료 메시지가 상기 제1 회원의 전자 단말로 전송 완료되면, 트랜잭션 생성부가, 상기 제1 회원의 회원 식별 정보, 상기 제1 무게에 대한 정보 및 상기 제1 금액에 대한 정보가 포함된 금 거래 트랜잭션을 생성하는 단계; 및
등록 요청부가, 블록체인 네트워크를 구성하는 복수의 노드 장치들 중 어느 하나인 제1 노드 장치로 상기 금 거래 트랜잭션을 전송하면서, 상기 금 거래 트랜잭션의 상기 블록체인 네트워크로의 등록 요청을 전송하는 단계
를 더 포함하고,
상기 제1 노드 장치는
상기 금 판매 서버로부터 상기 금 거래 트랜잭션이 수신되면, 상기 제1 노드 장치의 메모리 상에 저장되어 있는 블록체인 데이터를 기초로, 상기 금 거래 트랜잭션이 포함된 블록을 생성하고, 상기 블록을 상기 블록체인 데이터에 체인으로 연결한 후, 상기 블록을 상기 블록체인 네트워크를 통해, 상기 복수의 노드 장치들 중 상기 제1 노드 장치를 제외한 나머지 노드 장치들로 전파하는 것을 특징으로 하는 금 판매 서버의 동작 방법. 8. The method of claim 7,
When the purchase completion message is transmitted to the electronic terminal of the first member, the transaction generating unit performs a gold transaction including member identification information of the first member, information on the first weight, and information on the first amount. creating a transaction; and
transmitting, by a registration requesting unit, a registration request of the gold transaction transaction to the blockchain network while transmitting the gold transaction transaction to a first node device that is one of a plurality of node devices constituting the blockchain network
further comprising,
The first node device
When the gold transaction transaction is received from the gold selling server, a block including the gold transaction transaction is generated based on the block chain data stored in the memory of the first node device, and the block is transferred to the block chain After chaining the data, the block is propagated to the remaining node devices except for the first node device among the plurality of node devices through the block chain network.
상기 골드바 인출 장치는
상기 복수의 골드바들이 보관되어 있는 골드바 보관부, 2차원 코드를 인식하기 위한 코드 인식부 및 골드바를 배출하기 위한 골드바 배출부로 구성되며, 상기 제1 회원이 상기 제1 회원의 전자 단말을 통해 표시되는 상기 2차원 코드를 상기 코드 인식부에 인식시키고, 상기 제1 골드바를 인출하기 위한 인출 버튼을 누름으로써, 상기 제1 골드바에 대한 인출 명령을 상기 골드바 인출 장치에 인가하면, 상기 코드 인식부를 통해 상기 2차원 코드를 인식하여 상기 2차원 코드로부터 상기 제1 회원의 회원 식별 정보를 추출한 후, 상기 금 판매 서버로 상기 제1 골드바에 대한 인출 승인 요청과 함께 상기 제1 골드바의 무게 정보 및 상기 제1 회원의 회원 식별 정보를 전송하고, 상기 금 판매 서버로부터 상기 제1 골드바에 대한 인출 승인 완료 메시지가 수신되면, 상기 골드바 보관부에 보관되어 있는 상기 복수의 골드바들 중 상기 제1 골드바를 상기 골드바 배출부를 통해 배출하는 것을 특징으로 하는 금 판매 서버의 동작 방법. 8. The method of claim 7,
The gold bar withdrawal device is
It consists of a gold bar storage unit in which the plurality of gold bars are stored, a code recognition unit for recognizing a two-dimensional code, and a gold bar discharge unit for discharging gold bars, wherein the first member is displayed through the first member's electronic terminal. When a withdrawal command for the first gold bar is applied to the gold bar withdrawal device by recognizing the two-dimensional code by the code recognition unit and pressing a withdrawal button for withdrawing the first gold bar, the code recognition unit allows the withdrawal of the first gold bar. After recognizing a two-dimensional code and extracting member identification information of the first member from the two-dimensional code, the gold sales server receives a request for approval for withdrawal of the first gold bar, weight information of the first gold bar, and the first When the member's identification information is transmitted and a withdrawal approval completion message for the first gold bar is received from the gold selling server, the first gold bar is discharged from among the plurality of gold bars stored in the gold bar storage unit. Method of operation of a gold selling server, characterized in that discharging through wealth.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20210012594 | 2021-01-28 | ||
KR1020210012594 | 2021-01-28 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102389289B1 true KR102389289B1 (en) | 2022-04-26 |
Family
ID=81390054
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210027880A KR102389289B1 (en) | 2021-01-28 | 2021-03-03 | Gold sales server for supporting purchase of gold with cashable points, and the operating method thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102389289B1 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200126061A (en) * | 2019-04-29 | 2020-11-06 | 현대페이(주) | Node device that enables the deletion of a transaction in a block chain network and operating method thereof |
KR20200139437A (en) * | 2019-06-04 | 2020-12-14 | 주식회사 한글과컴퓨터 | Block chain based document information management apparatus for ensuring document reliability and operating method thereof |
-
2021
- 2021-03-03 KR KR1020210027880A patent/KR102389289B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200126061A (en) * | 2019-04-29 | 2020-11-06 | 현대페이(주) | Node device that enables the deletion of a transaction in a block chain network and operating method thereof |
KR20200139437A (en) * | 2019-06-04 | 2020-12-14 | 주식회사 한글과컴퓨터 | Block chain based document information management apparatus for ensuring document reliability and operating method thereof |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230009924A1 (en) | Generating dynamic exchange item information for an exchange item | |
JP6603765B2 (en) | Method and system for securely transmitting a remote notification service message to a mobile device without using a secure element | |
JP3329432B2 (en) | Hierarchical electronic cash execution method and apparatus used therefor | |
CN114186985A (en) | Multi-dimensional bar code action payment method and payment servo mechanism | |
KR102095044B1 (en) | Vending machines that can buy goods based on virtual money | |
KR101822488B1 (en) | Simple payment processing service apparatus using mobile phone number and password, and operating method thereof | |
CN108764904A (en) | It is a kind of distribution Accounting system in dual key theft preventing method | |
KR102389289B1 (en) | Gold sales server for supporting purchase of gold with cashable points, and the operating method thereof | |
KR102089354B1 (en) | Micropayment processing apparatus for supporting a micropayment processing according to a payment limit and operating method thereof | |
KR102302955B1 (en) | Blockchain and cloud-based asset trading platform server that enables real asset trading through tokenization of assets and operating method thereof | |
KR102302942B1 (en) | Transaction management server that enables product purchase by linking with product vending machines based on gold and digital gold token, and operating method thereof | |
US20220351192A1 (en) | Dynamically generating a security code for utilizing an exchange item | |
KR102302945B1 (en) | Gold wealth management server that enables gold bar purchase by interlocking with a gold bar vending machine where multiple gold bars are stored based on gold and digital gold tokens, and operating method thereof | |
KR102389298B1 (en) | Gold asset management server for supporting members to deposit and withdraw their gold which is purchased with cashable points, and the operating method thereof | |
KR102497521B1 (en) | Artificial intelligence-based gold trading platform server for recommending the optimal gold exchange to a user for selling gold and the operating method thereof | |
KR102322983B1 (en) | Asset trading platform server that enables trading of real assets based on blockchain and operating method thereof | |
KR102417839B1 (en) | Cloud-based offline commerce platform server that enables offline commerce based on gold and digital gold token, and operating method thereof | |
KR102464429B1 (en) | Cloud-based gold trading platform server that enables gold trading based on digital gold token and operating method thereof | |
KR102447334B1 (en) | Cloud-base online commerce platform server that enables online commerce based on gold and digital gold token and operating method thereof | |
KR102374232B1 (en) | Cloud-based payment guarantee transaction management server using digital gold tokens and operating method thereof | |
KR102364492B1 (en) | Cloud-based payment guarantee management server using digital gold tokens and operating method thereof | |
KR102549237B1 (en) | Service providing server that provides token issuance service for nft split transactions, and operating method thereof | |
KR102302949B1 (en) | Digital content provision service server supporting the provision of digital limited content through linkage with gold bar and operating method thereof | |
KR102519141B1 (en) | Cloud-based gold wealth management server that enables gold present based on digital gold tokens and operating method thereof | |
KR102302903B1 (en) | Gold bar management service server to support authenticity and transaction of gold bars printed with symbols representing celebrities and operating method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
J301 | Trial decision |
Free format text: TRIAL NUMBER: 2021101003233; TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20211221 Effective date: 20220318 |
|
GRNO | Decision to grant (after opposition) | ||
GRNT | Written decision to grant |