KR20240007757A - Method and system for privacy-oriented provenance at point of sale - Google Patents

Method and system for privacy-oriented provenance at point of sale Download PDF

Info

Publication number
KR20240007757A
KR20240007757A KR1020237042966A KR20237042966A KR20240007757A KR 20240007757 A KR20240007757 A KR 20240007757A KR 1020237042966 A KR1020237042966 A KR 1020237042966A KR 20237042966 A KR20237042966 A KR 20237042966A KR 20240007757 A KR20240007757 A KR 20240007757A
Authority
KR
South Korea
Prior art keywords
product identification
product
processing system
transaction
identification values
Prior art date
Application number
KR1020237042966A
Other languages
Korean (ko)
Inventor
로버트 콜린스
스티븐 씨. 데이비스
롭 바이른
피터 그로아케
Original Assignee
마스터카드 인터내셔날, 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마스터카드 인터내셔날, 인코포레이티드 filed Critical 마스터카드 인터내셔날, 인코포레이티드
Publication of KR20240007757A publication Critical patent/KR20240007757A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Commerce
    • G06Q30/018Certifying business or products
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/20Point-of-sale [POS] network systems
    • G06Q20/204Point-of-sale [POS] network systems comprising interface for record bearing medium or carrier for electronic funds transfer or payment credit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3827Use of message hashing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4014Identity check for transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4016Transaction verification involving fraud or risk level assessment in transaction processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q2220/00Business processing using cryptography

Abstract

본 개시내용은 거래 메시지를 통해 판매 시점에서 제품 진위를 검증하기 위한 시스템 및 방법에 대한 설명을 제공한다. 판매 시점은 전통적인 체크아웃 프로세스의 일부로 소비자가 구매에 관심이 있는 제품으로부터 제품 식별자를 수집할 수 있다. 제품 식별자는 결제 거래를 통해 판매자의 인수 은행에 제출되는 거래 메시지 내의 특수 데이터 요소에 포함될 수 있다. 인수자에 의한 거래 처리의 일환으로, 인수자는 거래 메시지에 포함된 제품 식별자에 대한 출처 블록체인을 검사하여 구매되는 제품의 진위를 확인하기 위해 프로세서와 상담할 수 있다. 제품이 진품인 것으로 판단되는 경우, 평소처럼 거래가 진행될 수 있다. 제품이 진품이 아닌 경우, 인수자는 거래를 거부하고 소비자가 위조품이나 사기품을 구매하는 것을 중단시킬 수 있다.This disclosure provides a description of systems and methods for verifying product authenticity at the point of sale via transactional messages. Point of sale may collect product identifiers from products the consumer is interested in purchasing as part of the traditional checkout process. The product identifier may be included in a special data element within the transaction message submitted to the merchant's acquiring bank throughout the payment transaction. As part of processing the transaction by the consignor, the consignee may consult with the processor to verify the authenticity of the product being purchased by checking the blockchain of origin for product identifiers included in the transaction message. If the product is determined to be genuine, the transaction can proceed as usual. If the product is not genuine, the consignee can refuse the transaction and stop the consumer from purchasing counterfeit or fraudulent products.

Figure P1020237042966
Figure P1020237042966

Description

판매 시점에서 개인 정보 보호 지향 출처를 위한 방법 및 시스템Method and system for privacy-oriented provenance at point of sale

관련 출원의 교차 참조Cross-reference to related applications

본 출원은 2021년 5월 13일에 출원된 미국 특허 출원 제17/319,532호의 이익을 주장하며, 그 전체 내용은 모든 목적을 위해 본원에 참조로서 원용된다.This application claims the benefit of U.S. Patent Application No. 17/319,532, filed May 13, 2021, the entire contents of which are hereby incorporated by reference for all purposes.

기술분야Technology field

본 개시내용은 판매 시점에서 개인 정보 보호 지향 출처에 관한 것으로, 구체적으로 거래 메시지를 통해 판매 시점에서 제품의 진위를 검증할 수 있도록 품목 출처를 추적하는 블록체인의 사용에 관한 것이다.This disclosure relates to privacy-oriented provenance at the point of sale, and specifically to the use of blockchain to track item provenance so that the authenticity of a product can be verified at the point of sale via transactional messages.

블록체인은 처음에 암호 화폐로 결제 거래를 수행하는 데 사용하기 위한 저장 메커니즘으로 생성되었다. 블록체인을 사용하면 탈중앙화, 분산 컴퓨팅, 거래와 연관된 투명성 등 많은 이점을 제공하고, 또한 거래와 연관된 개인 또는 엔티티에 익명성을 제공한다. 블록체인의 가장 인기 있는 측면 중 하나는 불변의 기록인 점으로, 체인의 일부인 모든 거래는 블록체인에 저장되고 특히 체인이 길어지고 블록체인 네트워크가 더 많은 노드를 추가함에 따라 계산 요건 및 대역폭 제한으로 인해 변경될 수 없다.Blockchain was initially created as a storage mechanism for use in conducting payment transactions with cryptocurrency. Using blockchain provides many advantages such as decentralization, distributed computing, transparency associated with transactions, and also provides anonymity to the individuals or entities involved in the transaction. One of the most popular aspects of blockchain is that it is an immutable record, meaning that all transactions that are part of a chain are stored on the blockchain, especially as chains grow longer and blockchain networks add more nodes, due to computational requirements and bandwidth limitations. cannot be changed due to

블록체인은 임의의 데이터 방식에 대해 불변의 기록을 저장하기 때문에, 부패성 상품이나 고가 품목의 생산 및 유통의 추적과 같은 품목의 출처에 관한 정보를 저장하기 위해 일부 블록체인이 개발되었다. 예를 들어, 블록체인을 사용하여 생산물을 추적할 수 있으며, 여기서 생산물이 수확되고, 수확 장소에서 픽업되고, 유통업자에 맡겨지고, 유통업자에 의해 트럭에 실리고, 소매업자에 도착되고, 소매업자에 의해 수령되고, 소비자에게 판매될 때 항목이 생성될 수 있다. 그 결과, 이러한 항목에는 정품의 수명 주기가 저장될 수 있다.Because blockchains store immutable records of arbitrary data, some blockchains have been developed to store information about the provenance of items, such as tracking the production and distribution of perishable goods or high-value items. For example, blockchain could be used to track produce, where it is harvested, picked up at the harvest site, dropped off at a distributor, loaded on a truck by a distributor, arrived at a retailer, and then delivered to a retailer. An item may be created when it is received by and sold to a consumer. As a result, the life cycle of the original product can be stored in these items.

그러나, 소비자는 출처 블록체인에 액세스하거나, 이러한 블록체인에서 원하는 품목을 식별하거나, 내부에 저장되는 데이터를 이해할 수 있는 능력이 없을 수 있다. 동시에, 약품이나 고가의 사치품에 관심이 있는 소비자와 같은 소비자는 구매하려는 제품이 진품인지를 확인하는 데 상당한 관심을 가질 수 있다. 따라서, 소비자가 구매할 제품의 진위를 검증하여 출처 블록체인을 활용할 수 있는 시스템이 필요하다.However, consumers may not have the ability to access the blockchain of origin, identify the desired item on such blockchain, or understand the data stored within. At the same time, consumers, such as those interested in pharmaceuticals or expensive luxury goods, may have a strong interest in ensuring that the product they are purchasing is authentic. Therefore, a system is needed that can utilize the provenance blockchain to verify the authenticity of the product that consumers will purchase.

본 개시내용은 거래 메시지를 통해 판매 시점에서 제품 진위를 검증하기 위한 시스템 및 방법에 대한 설명을 제공한다. 판매 시점은 전통적인 체크아웃 프로세스의 일부로 소비자가 구매에 관심이 있는 제품으로부터 제품 식별자를 수집할 수 있다. 제품 식별자는 결제 거래를 통해 판매자의 인수 은행에 제출되는 거래 메시지 내의 특수 데이터 요소에 포함될 수 있다. 인수자에 의한 거래 처리의 일환으로, 인수자는 거래 메시지에 포함된 제품 식별자에 대한 출처 블록체인을 검사하여 구매되는 제품의 진위를 확인하기 위해 프로세서와 상담할 수 있다. 제품이 진품인 것으로 판단되는 경우, 평소처럼 거래가 진행될 수 있다. 제품이 진품이 아닌 경우, 인수자는 거래를 거부하고 소비자가 위조품이나 사기품을 구매하는 것을 중단시킬 수 있다. 소비자는 또한 판매 시점을 통해 하나 이상의 제품이 진품이 아님을 통지받을 수 있으며, 이는 구매되는 다른 제품의 소비자를 안심시킬 수 있거나 소비자가 떠나서 다른 판매자를 선택하게 할 수 있다. 표준 거래 메시지를 사용함으로써, 소비자 경험은 동일하게 유지될 수 있고 기존 통신 경로와 프로세스는 소비자, 판매자, 및 제조업자 모두의 이익을 위해 아직 추가 서비스를 제공하는 동안 활용될 수 있다.This disclosure provides a description of systems and methods for verifying product authenticity at the point of sale via transactional messages. Point of sale may collect product identifiers from products the consumer is interested in purchasing as part of the traditional checkout process. The product identifier may be included in a special data element within the transaction message submitted to the merchant's acquiring bank throughout the payment transaction. As part of processing the transaction by the consignor, the consignee may consult with the processor to verify the authenticity of the product being purchased by checking the blockchain of origin for product identifiers included in the transaction message. If the product is determined to be genuine, the transaction can proceed as usual. If the product is not genuine, the consignee can refuse the transaction and stop the consumer from purchasing counterfeit or fraudulent products. Consumers may also be notified through the point of sale that one or more products are not authentic, which may reassure the consumer of other products being purchased or may cause the consumer to walk away and choose another seller. By using standard transactional messages, the consumer experience can remain the same and existing communication paths and processes can be utilized while still providing additional services for the benefit of consumers, sellers, and manufacturers alike.

거래 메시지를 통해 판매 시점에서 제품 진위를 검증하기 위한 방법은 판매 시점 장치가 하나 이상의 제품 식별 값을 수신하는 단계로서, 각 제품 식별 값은 결제 거래에서 구매되는 제품에 대응하는, 단계; 판매 시점 장치가 하나 이상의 제품 식별 값을 저장하는 하나 이상의 데이터 요소를 포함하는 거래 메시지를 생성하는 단계로서, 거래 메시지는 하나 이상의 표준에 따라 형식화되는, 단계; 판매 시점 장치가 거래 메시지를 제1 처리 시스템으로 전송하는 단계; 제1 처리 시스템이 수신된 거래 메시지에 포함된 하나 이상의 데이터 요소로부터 파싱된 하나 이상의 제품 식별 값을 제2 처리 시스템으로 전송하는 단계; 제1 처리 시스템이 제2 처리 시스템으로부터 하나 이상의 제품 식별 값 각각에 대한 검증 결과를 수신하는 단계; 및 제1 처리 시스템이 결제 거래를 처리하는 단계를 포함하고, 처리는 (i) 하나 이상의 제품 식별 값 중 적어도 하나에 대한 검증 결과가 실패한 검증임을 나타내는 경우 결제 거래를 거부하는 판매 시점 장치에 응답 메시지를 전송하는 단계, 또는 (ii) 하나 이상의 제품 식별 값 각각에 대한 검증 결과가 성공적인 검증임을 나타내는 경우 거래 메시지를 결제 네트워크로 전송하는 단계를 포함한다.A method for verifying product authenticity at a point of sale via a transaction message comprising: a point of sale device receiving one or more product identification values, each product identification value corresponding to a product being purchased in a payment transaction; generating, by a point-of-sale device, a transaction message comprising one or more data elements storing one or more product identification values, the transaction message being formatted according to one or more standards; a point-of-sale device transmitting a transaction message to a first processing system; transmitting, by a first processing system, to a second processing system one or more product identification values parsed from one or more data elements included in a received transaction message; A first processing system receiving verification results for each of one or more product identification values from a second processing system; and a first processing system processing the payment transaction, the processing comprising: (i) a response message to the point-of-sale device rejecting the payment transaction if the verification result for at least one of the one or more product identification values indicates a failed verification; or (ii) transmitting a transaction message to the payment network if the verification result for each of the one or more product identification values indicates successful verification.

거래 메시지를 통해 판매 시점에서 제품 진위를 검증하기 위한 시스템은 판매 시점 장치; 제1 처리 시스템; 및 제2 처리 시스템을 포함하고 - 판매 시점 장치는 하나 이상의 제품 식별 값을 수신하고, 각 제품 식별 값은 결제 거래에서 구매되는 제품에 대응함 -; 하나 이상의 제품 식별 값을 저장하는 하나 이상의 데이터 요소를 포함하는 거래 메시지를 생성하고 - 거래 메시지는 하나 이상의 표준에 따라 형식화됨 -; 거래 메시지를 제1 처리 시스템으로 전송하고, 제1 처리 시스템은 수신된 거래 메시지에 포함된 하나 이상의 데이터 요소로부터 파싱된 하나 이상의 제품 식별 값을 제2 처리 시스템으로 전송하고; 제2 처리 시스템으로부터 하나 이상의 제품 식별 값 각각에 대한 검증 결과를 수신하고; 결제 거래를 처리하고, 처리는 (i) 하나 이상의 제품 식별 값 중 적어도 하나에 대한 검증 결과가 실패한 검증임을 나타내는 경우 결제 거래를 거부하는 판매 시점 장치에 응답 메시지를 전송하는 단계, 또는 (ii) 하나 이상의 제품 식별 값 각각에 대한 검증 결과가 성공적인 검증임을 나타내는 경우 거래 메시지를 결제 네트워크로 전송하는 단계를 포함한다.The system for verifying product authenticity at the point of sale through transactional messages includes a point of sale device; first processing system; and a second processing system, wherein the point-of-sale device receives one or more product identification values, each product identification value corresponding to a product being purchased in the payment transaction; Generate a transaction message containing one or more data elements storing one or more product identification values - the transaction message being formatted according to one or more standards -; transmitting a transaction message to a first processing system, wherein the first processing system transmits to a second processing system one or more product identification values parsed from one or more data elements included in the received transaction message; receive verification results for each of the one or more product identification values from the second processing system; Processing a payment transaction, the processing comprising: (i) sending a response message to a point-of-sale device rejecting the payment transaction if the verification result for at least one of the one or more product identification values indicates a failed verification; or (ii) If the verification result for each of the above product identification values indicates successful verification, it includes transmitting a transaction message to the payment network.

본 개시내용의 범위는 첨부 도면과 함께 읽을 때 예시적인 실시예에 대한 다음의 상세한 설명으로부터 가장 잘 이해된다. 도면에는 다음의 도해가 포함되어 있다.
도 1은 예시적인 실시예에 따른 거래 메시지를 통해 판매 시점에서 제품 진위를 검증하는 고수준 시스템 아키텍처를 나타낸 블록도이다.
도 2는 예시적인 실시예에 따른 결제 거래에서 제품 진위를 검증하는 데 사용하기 위한 도 1의 시스템의 컴퓨팅 시스템을 나타낸 블록도이다.
도 3a 및 도 3b는 예시적인 실시예에 따른 거래 메시지 및 출처 블록체인을 통해 판매 시점에서 제품 진위를 검증하기 위한 프로세스를 나타낸 흐름도이다.
도 4는 예시적인 실시예에 따른 거래 메시지를 통해 판매 시점에서 제품 진위를 검증하기 위한 예시적인 방법을 나타낸 순서도이다.
도 5는 예시적인 실시예에 따른 컴퓨터 시스템 아키텍처를 나타낸 블록도이다.
본 개시내용이 적용 가능한 추가적인 영역은 이하에 제공되는 상세한 설명으로부터 명백해질 것이다. 예시적인 실시예의 상세한 설명은 단지 예시적인 목적으로만 의도되며, 이에 따라 본 개시내용의 범위를 반드시 제한하려는 의도가 아님을 이해해야 한다.
The scope of the disclosure is best understood from the following detailed description of exemplary embodiments when read in conjunction with the accompanying drawings. The drawing includes the following illustrations:
1 is a block diagram illustrating a high-level system architecture for verifying product authenticity at the point of sale via transactional messages according to an example embodiment.
FIG. 2 is a block diagram illustrating a computing system of the system of FIG. 1 for use in verifying product authenticity in a payment transaction according to an example embodiment.
3A and 3B are flow diagrams illustrating a process for verifying product authenticity at the point of sale via a transaction message and provenance blockchain according to an example embodiment.
4 is a flowchart illustrating an example method for verifying product authenticity at the point of sale via a transaction message according to an example embodiment.
Figure 5 is a block diagram illustrating a computer system architecture according to an example embodiment.
Additional areas where the present disclosure is applicable will become apparent from the detailed description provided below. It is to be understood that the detailed description of the exemplary embodiments is intended for illustrative purposes only and is not necessarily intended to limit the scope of the disclosure accordingly.

용어의 해설Glossary of Terms

블록체인 - 블록체인 기반 화폐의 모든 거래에 대한 공개 원장. 하나 이상의 컴퓨팅 장치는 블록체인 네트워크를 포함할 수 있으며, 이는 블록체인에서 블록의 일부로서 거래를 처리하고 기록하도록 구성될 수 있다. 블록이 완성되면, 그 블록은 블록체인에 추가되고 이에 의해 거래 기록이 업데이트된다. 여러 경우에, 블록체인은 시간순에 따른 거래의 원장일 수 있거나, 또는 블록체인 네트워크가 사용하기에 적합할 수 있게 기타 순서로 제시될 수 있다. 일부 구성에서, 블록체인에 기록된 거래는 특정 주소에 얼마의 화폐가 있는지를 블록체인이 기록하도록, 목적지 주소와 화폐량을 포함할 수 있다. 일부 경우에, 거래가 금융이고 다른 거래는 금융이 아니거나 소스 주소, 타임스탬프 등과 같은 추가 정보 또는 다른 정보를 포함할 수 있다. 일부 실시예들에서, 블록체인은 또한, 심지어 그 운영자들에 의해서도 변조하고 수정하기 어려운 데이터 기록들의 연속적으로 증가하는 리스트를 유지하는 분산 데이터베이스에 위치되거나 위치될 필요가 있는 거래의 형태로서 거의 임의의 유형의 데이터를 포함하거나 대안적으로 포함할 수 있고, 작업 증명 및/또는 그와 연관된 임의의 다른 적절한 검증 기술들을 통해 블록체인 네트워크에 의해 확인 및 유효성 검사될 수 있다. 일부 경우에, 주어진 거래에 관한 데이터는 거래 데이터에 첨부된 거래의 직접적인 일부가 아닌 추가 데이터를 더 포함할 수 있다. 일부 경우에, 블록체인에 이러한 데이터의 포함은 거래로 여겨질 수 있다. 이러한 경우에, 블록체인은 특정 디지털, 가상, 피아트(fiat), 또는 다른 유형의 화폐와 직접 연관되지 않을 수 있다.Blockchain – A public ledger of all transactions in a blockchain-based currency. One or more computing devices may comprise a blockchain network, which may be configured to process and record transactions as part of blocks in a blockchain. Once a block is complete, it is added to the blockchain and the transaction record is thereby updated. In many cases, a blockchain may be a ledger of transactions in chronological order, or may be presented in some other order as may be suitable for use by a blockchain network. In some configurations, transactions recorded on the blockchain may include a destination address and an amount of currency, such that the blockchain records how much currency is at a particular address. In some cases, transactions are financial and other transactions are not financial or may contain additional or different information such as source address, timestamp, etc. In some embodiments, a blockchain also allows for nearly random transactions in the form of transactions to be located, or need to be located, in a distributed database that maintains a continuously growing list of data records that are difficult to tamper with and modify, even by their operators. It may contain or alternatively contain tangible data, and may be verified and validated by the blockchain network through proof-of-work and/or any other suitable verification techniques associated therewith. In some cases, data regarding a given transaction may further include additional data that is not directly part of the transaction attached to the transaction data. In some cases, the inclusion of such data in a blockchain can be considered a transaction. In these cases, the blockchain may not be directly associated with a specific digital, virtual, fiat, or other type of currency.

결제 네트워크 - 주어진 기간 동안 수천 건, 수백만 건, 및 심지어 수십억 건의 거래에 대해 현금 대체 수단을 사용하여 금전을 이체하는 데 사용되는 시스템 또는 네트워크. 결제 네트워크는 다양한 유형의 거래에 대한 금전 이체를 처리하기 위해 여러 가지 다양한 프로토콜 및 절차를 사용할 수 있다. 결제 네트워크를 통해 수행될 수 있는 거래는 제품 또는 서비스 구매, 신용 구매, 직불 거래, 자금 이체, 계좌 인출 등을 포함할 수 있다. 결제 네트워크는 결제 카드, 신용장, 수표, 거래 계좌 등을 포함할 수 있는 현금 대체 수단을 통해 거래를 수행하도록 구성될 수 있다. 결제 네트워크로 작동하도록 구성된 네트워크 또는 시스템의 예로는 Mastercard®, VISA®, Discover®, American Express®, PayPal® 등이 운영하는 네트워크 또는 시스템을 포함한다. 본원에서 "결제 네트워크"라는 용어의 사용은 엔티티로서의 결제 네트워크와, 결제 네트워크를 구성하는 장비, 하드웨어, 및 소프트웨어와 같은 물리적 결제 네트워크 둘 모두를 지칭할 수 있다.Payment Network - A system or network used to transfer money using alternative means of cash for thousands, millions, and even billions of transactions over a given period of time. Payment networks may use a number of different protocols and procedures to process monetary transfers for different types of transactions. Transactions that can be performed through a payment network may include purchases of products or services, credit purchases, debit transactions, fund transfers, account withdrawals, etc. A payment network may be configured to conduct transactions through alternative means of cash, which may include payment cards, letters of credit, checks, transaction accounts, etc. Examples of networks or systems configured to operate as payment networks include networks or systems operated by Mastercard®, VISA®, Discover®, American Express®, PayPal®, etc. Use of the term “payment network” herein may refer to both the payment network as an entity and the physical payment network, such as the equipment, hardware, and software that make up the payment network.

거래 계좌 - 당좌 예금 계좌, 저축 계좌, 신용 계좌, 가상 결제 계좌 등과 같이 거래 자금을 조달하는 데 사용될 수 있는 금융 계좌. 거래 계좌는 소비자와 연관될 수 있으며, 이는 개인, 가족, 회사, 법인, 정부 기관 등을 포함할 수 있는 결제 계좌와 연관된 임의의 적합한 유형의 엔티티일 수 있다. 일부 경우에, 거래 계좌는 PayPal® 등이 운영하는 계좌와 같은 가상 계좌일 수 있다.Transaction Account - A financial account that can be used to fund transactions, such as a checking account, savings account, credit account, virtual payment account, etc. A transaction account may be associated with a consumer, which may be any suitable type of entity associated with a payment account, which may include an individual, family, business, corporation, government agency, etc. In some cases, the trading account may be a virtual account, such as an account operated by PayPal® or the like.

발행자 - 수혜자를 위해 신용장이나 신용 한도를 확립(예를 들어, 개설)하며 신용장이나 신용 한도에 지정된 금액에 대해 수혜자가 발행한 환어음을 수여하는 엔티티. 여러 경우에, 발행자는 신용 한도를 개설하도록 인가된 은행이나 다른 금융 기관일 수 있다. 일부 경우에, 수혜자에게 신용 한도를 연장할 수 있는 임의의 엔티티는 발행자로 간주될 수 있다. 발행자가 개설한 신용 한도는 결제 계좌의 형태로 표현될 수 있고, 결제 카드를 사용하여 수혜자에 의해 발행될 수 있다. 발행자는 또한 당업자에게 명백할 바와 같이 직불 계좌, 선불 계좌, 전자 지갑 계좌, 저축 계좌, 당좌 예금 계좌 등과 같은 추가 유형의 결제 계좌를 소비자에게 제공할 수 있고, 소비자에게 직불 카드, 선불 카드, 현금 자동 입출금기 카드, 전자 지갑, 수표 등과 같은 계좌에 액세싱 및/또는 이를 활용하기 위한 물리적 또는 비물리적 수단을 제공할 수 있다.Issuer - An entity that establishes (i.e., opens) a letter of credit or line of credit for a beneficiary and awards a draft drawn by the beneficiary for the amount specified in the letter of credit or line of credit. In many cases, the issuer may be a bank or other financial institution authorized to open lines of credit. In some cases, any entity that can extend a line of credit to a beneficiary may be considered an issuer. A line of credit opened by an issuer may be expressed in the form of a payment account and may be issued by the beneficiary using a payment card. Issuers may also offer consumers additional types of payment accounts, such as debit accounts, prepaid accounts, e-wallet accounts, savings accounts, checking accounts, etc., as will be apparent to those skilled in the art. It may provide physical or non-physical means to access and/or utilize accounts, such as teller cards, electronic wallets, checks, etc.

인수자 - 판매자를 대신하여 결제 카드 거래를 처리할 수 있는 엔티티. 인수자는 판매자를 대신하여 결제 카드 거래를 처리하도록 인가된 은행 또는 다른 금융 기관일 수 있다. 여러 경우에, 인수자는 수혜자 역할을 하는 판매자와 신용 한도를 개설할 수 있다. 발행자에 의해 제공되는 신용 한도에 대한 수혜자일 수 있는 소비자가 결제 카드를 통해 인수자에 의해 대표되는 판매자와 거래하는 경우, 인수자는 발행자와 자금을 교환할 수 있다.Acquirer - An entity that may process payment card transactions on behalf of a merchant. The acquirer may be a bank or other financial institution authorized to process payment card transactions on behalf of the merchant. In many cases, the acquirer may open a line of credit with the seller acting as the beneficiary. When a consumer, who may be the beneficiary of a line of credit provided by the issuer, transacts with a merchant represented by the acquirer via a payment card, the acquirer may exchange funds with the issuer.

결제 거래 - 금전이나 다른 금융 이익이 한 엔티티로부터 다른 엔티티로 교환되는 두 엔티티 간의 거래. 결제 거래는 당업자에게 명백할 바와 같이 상품이나 서비스의 구매를 위한, 부채 상환을 위한, 또는 기타 금융 이익의 교환을 위한 자금 이체일 수 있다. 일부 경우에, 결제 거래는 신용 카드 거래와 같이 결제 카드 및/또는 결제 계좌를 통해 자금이 조달되는 거래를 지칭할 수 있다. 이러한 결제 거래는 발행자, 결제 네트워크, 및 인수자를 통해 처리될 수 있다. 이러한 결제 거래를 처리하기 위한 과정은 인가, 일괄 처리, 청산, 정산, 및 자금 조달 중 적어도 하나를 포함할 수 있다. 인가는 소비자가 판매자에게 결제 세부 사항을 제공하는 것, 판매자로부터 인수자에게 거래 세부 사항(예를 들어, 결제 세부 사항 포함)를 제출하는 것, 및 거래 자금을 조달하는 데 사용되는 소비자의 결제 계좌의 발행자와 결제 세부 사항을 검증하는 것을 포함할 수 있다. 일괄 처리는 인수자에게 유통하기 위해 인가된 거래를 다른 인가된 거래와 함께 일괄적으로 저장하는 것을 지칭할 수 있다. 청산은 처리를 위해 인수자로부터 결제 네트워크로 일괄 처리된 거래의 전송을 포함할 수 있다. 정산은 발행자의 수혜자와 관련된 거래에 대해 결제 네트워크에 의한 발행자의 인출을 포함할 수 있다. 일부 경우에, 발행자는 결제 네트워크를 통해 인수자에게 비용을 지불할 수 있다. 다른 경우에, 발행자는 인수자에게 직접 지불할 수 있다. 자금 조달은 청산 및 정산된 결제 거래를 위해 인수자로부터 판매자로의 지불을 포함할 수 있다. 위에서 논의된 단계의 순서 및/또는 분류가 결제 거래 처리의 일환으로 수행된다는 점은 당업자에게 명백할 것이다.Settlement Transaction - A transaction between two entities in which money or other financial interests are exchanged from one entity to another. A payment transaction may be a transfer of funds for the purchase of goods or services, payment of a debt, or exchange of other financial interests, as will be apparent to those skilled in the art. In some cases, a payment transaction may refer to a transaction that is funded through a payment card and/or payment account, such as a credit card transaction. These payment transactions may be processed through issuers, payment networks, and acquirers. The process for processing such payment transactions may include at least one of authorization, batch processing, clearing, settlement, and funding. Authorization involves the consumer providing payment details to the seller, the submission of transaction details (including, for example, payment details) from the seller to the acquirer, and the use of the consumer's payment account to fund the transaction. This may include verifying issuer and payment details. Batch processing may refer to storing authorized transactions together with other authorized transactions in a batch for distribution to the acquirer. Clearing may involve the transfer of batched transactions from the acquirer to the payment network for processing. Settlement may include a withdrawal of the issuer by the payment network for transactions involving the issuer's beneficiaries. In some cases, the issuer may pay the acquirer through a payment network. In other cases, the issuer may pay the underwriter directly. Financing may include payments from the acquirer to the seller for clearing and settled settlement transactions. It will be clear to those skilled in the art that the sequence and/or classification of steps discussed above are performed as part of processing a payment transaction.

판매 시점에서 제품 진위를 검증하기 위한 시스템A system for verifying product authenticity at the point of sale

도 1은 출처 블록체인 및 전통적인 거래 메시징을 사용하여 판매 시점에서 제품의 진위를 검증하기 위한 시스템(100)을 도시하고 있다.1 illustrates a system 100 for verifying the authenticity of a product at the point of sale using provenance blockchain and traditional transaction messaging.

시스템(100)은 하나 이상의 블록체인 노드(102)를 포함할 수 있다. 각 블록체인 노드(102)는 블록체인 네트워크(104)의 일부일 수 있다. 각 블록체인 노드(102)는, 아래에서 더 상세히 논의될 도 2 및 도 5에 도시된 바와 같이, 블록체인 데이터 값 생성, 제안된 블록체인 거래 검증, 디지털 서명 검증, 새로운 블록 생성, 새로운 블록 유효성 검사, 및 블록체인 사본의 유지 관리를 포함하여 블록체인의 처리 및 관리와 관련된 기능을 수행하도록 구성된, 컴퓨팅 시스템일 수 있다.System 100 may include one or more blockchain nodes 102. Each blockchain node 102 may be part of a blockchain network 104. Each blockchain node 102 generates blockchain data values, verifies proposed blockchain transactions, verifies digital signatures, creates new blocks, and validates new blocks, as shown in Figures 2 and 5, discussed in more detail below. It may be a computing system configured to perform functions related to the processing and management of a blockchain, including checking and maintaining a copy of the blockchain.

블록체인은 적어도 복수의 블록으로 구성된 분산 원장일 수 있다. 각 블록은 적어도 블록 헤더 및 하나 이상의 데이터 값을 포함할 수 있다. 각 블록 헤더는 적어도 타임스탬프, 블록 기준 값, 및 데이터 기준 값을 포함할 수 있다. 타임스탬프는 블록 헤더가 생성된 시간일 수 있고, 임의의 적합한 방법(예를 들어, UNIX 타임스탬프, DateTime 등)을 사용하여 표현될 수 있다. 블록 기준 값은 블록체인에서 (예를 들어, 타임스탬프에 기초한) 앞선 블록을 참조하는 값일 수 있다. 일부 실시예에서, 블록 헤더에서의 블록 기준 값은 각각의 블록 이전에 가장 최근에 추가된 블록의 블록 헤더에 대한 참조일 수 있다. 예시적인 실시예에서, 블록 기준 값은 가장 최근에 추가된 블록의 블록 헤더의 해싱을 통해 생성된 해시 값일 수 있다. 유사하게, 데이터 기준 값은 블록 헤더를 포함하는 블록 내에 저장된 하나 이상의 데이터 값들에 대한 참조일 수 있다. 예시적인 실시예에서, 데이터 기준 값은 하나 이상의 데이터 값의 해싱을 통해 생성된 해시 값일 수 있다. 예를 들어, 블록 기준 값은 하나 이상의 데이터 값을 사용하여 생성된 머클 트리의 루트일 수 있다.A blockchain can be a distributed ledger composed of at least multiple blocks. Each block may include at least a block header and one or more data values. Each block header may include at least a timestamp, a block reference value, and a data reference value. The timestamp may be the time the block header was created, and may be expressed using any suitable method (e.g., UNIX timestamp, DateTime, etc.). The block reference value may be a value that references a previous block in the blockchain (e.g., based on a timestamp). In some embodiments, the block reference value in the block header may be a reference to the block header of the most recently added block before each block. In an example embodiment, the block reference value may be a hash value generated through hashing the block header of the most recently added block. Similarly, a data reference value may be a reference to one or more data values stored within a block including a block header. In an example embodiment, the data reference value may be a hash value generated through hashing one or more data values. For example, a block reference value may be the root of a Merkle tree created using one or more data values.

각 블록 헤더에 있는 블록 기준 값 및 데이터 기준 값을 사용하면 블록체인이 변경되지 않을 수 있다. 데이터 값을 수정하려는 임의의 시도는 그 블록에 대한 새로운 데이터 기준 값의 생성을 필요로 하고, 이에 의해 후속 블록의 블록 기준 값이 새롭게 생성되는 것을 필요로 하며, 이는 모든 후속 블록에서의 새로운 블록 기준 값의 생성을 더 필요로 한다. 이는 변경이 영구적으로 이루어지기 위해 블록체인에 새 블록의 생성 및 추가 이전에 블록체인 네트워크(104)에 있는 모든 단일 블록체인 노드(102)에서 수행되고 업데이트되어야 할 것이다. 계산 및 통신 제한으로 인해 이러한 수정이 불가능하지는 않더라도 매우 어려워질 수 있으므로, 블록체인이 변경될 수 없게 된다.Using the block reference value and data reference value in each block header ensures that the blockchain remains unchanged. Any attempt to modify a data value requires the creation of a new data reference value for that block, which in turn requires the creation of a new block reference value for subsequent blocks, which in turn creates a new block reference value for all subsequent blocks. Requires more creation of values. This would have to be performed and updated on every single blockchain node 102 in the blockchain network 104 prior to the creation and addition of a new block to the blockchain for the change to be permanent. Computational and communication limitations can make such modifications very difficult, if not impossible, making the blockchain immutable.

일부 실시예에서, 블록체인은 두 개의 서로 다른 블록체인 지갑들 사이에서 수행되는 블록체인 거래에 관한 정보를 저장하는 데에 사용될 수 있다. 블록체인 지갑은 블록체인 거래에 대한 지불자의 인가 역할을 하는 디지털 서명을 생성하는 데 사용되는 암호화 키 쌍의 개인 키를 포함할 수 있으며, 여기서 디지털 서명은 암호화 키 쌍의 공개 키를 사용하여 블록체인 네트워크(104)에 의해 검증될 수 있다. 일부 경우에, "블록체인 지갑"이라는 용어는 구체적으로 개인 키를 지칭할 수 있다. 다른 경우에, "블록체인 지갑"이라는 용어는 블록체인 거래에 사용하기 위해 개인 키를 저장하는 컴퓨팅 장치(예를 들어, 제조업자 시스템(106), 판매 시점 장치(108), 인수 금융 기관(114), 검증 프로세서(118) 등)를 지칭할 수 있다. 예를 들어, 각 컴퓨팅 장치는 각각의 암호화 키 쌍에 대한 자체 개인 키를 가질 수 있고, 블록체인 네트워크와 연관된 블록체인과의 거래에 사용하기 위한 블록체인 지갑일 수 있다. 컴퓨팅 장치는 데스크탑 컴퓨터, 랩탑 컴퓨터, 노트북 컴퓨터, 태블릿 컴퓨터, 휴대폰, 스마트폰, 스마트 워치, 스마트 텔레비전, 웨어러블 컴퓨팅 장치, 이식형 컴퓨팅 장치 등과 같이 블록체인 지갑을 저장하고 활용하는 데 적합한 모든 유형의 장치일 수 있다.In some embodiments, a blockchain may be used to store information about blockchain transactions conducted between two different blockchain wallets. A blockchain wallet may contain the private key of a cryptographic key pair used to create a digital signature that serves as the payer's authorization for blockchain transactions, where the digital signature is used to create a digital signature on the blockchain using the public key of the cryptographic key pair. Can be verified by network 104. In some cases, the term “blockchain wallet” may specifically refer to private keys. In other instances, the term “blockchain wallet” refers to a computing device that stores private keys for use in blockchain transactions (e.g., a manufacturer's system 106, a point-of-sale device 108, an acquiring financial institution 114 ), verification processor 118, etc.). For example, each computing device may have its own private key for each encryption key pair, and may be a blockchain wallet for use in transactions with the blockchain associated with the blockchain network. Computing devices are any type of device suitable for storing and utilizing a blockchain wallet, such as desktop computers, laptop computers, notebook computers, tablet computers, mobile phones, smartphones, smart watches, smart televisions, wearable computing devices, implantable computing devices, etc. It can be.

블록체인에 저장된 각 블록체인 데이터 값은 적용 가능한 경우 블록체인 거래 또는 다른 데이터 스토리지에 대응할 수 있다. 블록체인 거래는 적어도 발신자의 개인 키를 사용하여 생성된 발신자의 디지털 서명, 수신자의 공개 키를 사용하여 생성된 통화 수신자의 블록체인 주소, 및 이체되는 블록체인 통화 금액 또는 저장되는 다른 데이터로 구성될 수 있다. 통화와는 별도로 데이터 저장을 위해 블록체인이 사용되는 경우, 통화 금액은 이러한 다른 데이터로 대체되거나 이에 추가될 수 있다. 일부 블록체인 거래에서, 거래는 또한 블록체인 통화가 현재 저장되어 있는(예를 들어, 디지털 서명이 이러한 통화에 대한 액세스를 증명하는) 발신자의 하나 이상의 블록체인 주소, 및 발신자에 의해 보유될 임의의 변경에 대해 발신자의 공개 키를 사용하여 생성된 주소를 포함할 수 있다. 향후 거래에 사용될 수 있는 암호화폐가 보내진 주소는 "출력" 주소로 지칭되고, 각 주소는 이전에 화폐가 아직 사용되지 않은 이전 거래의 주소로 보내진 화폐가 있기 때문에 "미사용 거래"로도 지칭되는 이전 블록체인 거래의 출력을 캡처하는 데 사용되었다. 일부 경우에, 블록체인 거래는 또한 엔티티가 거래를 인증하는 데 사용하기 위한 발신자의 공개 키를 포함할 수 있다. 블록체인 거래의 전통적인 처리를 위해, 이러한 데이터는 발신자 또는 수신자에 의해 블록체인 네트워크(104)에 있는 블록체인 노드(102)에 제공될 수 있다. 노드는 발신자 지갑의 암호화 키 쌍의 공개 키를 사용하여 디지털 서명을 검증할 수 있고, 또한 거래의 "확인"으로 알려진 프로세스인 자금에 대한 발신자의 액세스(예를 들어, 미사용 거래가 아직 사용되지 않았으며 발신자의 지갑과 연관된 주소로 보내졌는지)를 검증한 다음, 블록체인 거래를 새로운 블록에 포함시킬 수 있다. 새로운 블록은 통상적인 블록체인 구현에서 블록체인에 추가되어 블록체인 네트워크(104)의 모든 블록체인 노드들(102)에 분산되기 전에, 블록체인 네트워크(104)의 다른 노드들에 의해 검증될 수 있다. 블록체인 데이터 값이 블록체인 거래와 관련되지 않지만 대신 다른 유형의 데이터를 저장하는 경우, 블록체인 데이터 값은 여전히 디지털 서명의 유효성 검사를 포함하거나 또는 다른 방식으로 이와 관련될 수 있다.Each blockchain data value stored on the blockchain may correspond to a blockchain transaction or other data storage, as applicable. A blockchain transaction may consist of at least the sender's digital signature created using the sender's private key, the currency recipient's blockchain address created using the recipient's public key, and the amount of blockchain currency being transferred or other data stored. You can. If blockchain is used to store data separate from currency, currency amounts can be replaced by or added to such other data. In some blockchain transactions, the transaction also includes one or more blockchain addresses of the sender where blockchain currency is currently stored (e.g., a digital signature proves access to such currency), and a random token to be held by the sender. For changes, you can include an address generated using the sender's public key. The addresses to which cryptocurrency has been sent that can be used in future transactions are referred to as "output" addresses, and each address has previous blocks, also referred to as "unspent transactions", since there is currency previously sent to the address in previous transactions where the currency has not yet been spent. It was used to capture the output of chain transactions. In some cases, a blockchain transaction may also include the sender's public key for the entity to use to authenticate the transaction. For traditional processing of blockchain transactions, such data may be provided by the sender or recipient to blockchain node 102 in blockchain network 104. Nodes can use the public key of the sender's wallet's cryptographic key pair to verify the digital signature and also verify the sender's access to the funds, a process known as "confirmation" of the transaction (e.g., if an unspent transaction has not yet been used) After verifying that it was sent to an address associated with the sender's wallet, the blockchain transaction can be included in a new block. A new block may be verified by other nodes of the blockchain network 104 before being added to the blockchain and distributed to all blockchain nodes 102 of the blockchain network 104 in a typical blockchain implementation. . If the blockchain data value is not associated with a blockchain transaction but instead stores another type of data, the blockchain data value may still include validation of a digital signature or be associated with it in some other way.

시스템(100)에서, 블록체인 네트워크(104)는 출처 블록체인을 운영하고 저장할 수 있다. 출처 블록체인은 공급망에서의 이벤트가 내부에 저장되는 공급망에 관한 데이터를 저장하는 블록체인일 수 있다. 이러한 이벤트는 예를 들어 제품 제조, 유통 엔티티에 의한 픽업, 한 저장 시설에서 다른 저장 시설로의 운송, 소매업자로의 배송, 소매업자에 의한 판매, 소비자에 의한 재판매, 제품 그룹에 제품 추가, 제품 그룹으로부터 제품 분리, 제품의 지불 거절 등을 포함할 수 있다. 일부 경우에, 이러한 이벤트에 대해 출처 블록체인에 저장된 블록체인 데이터 값은 그 이벤트에 대한 자세한 정보를 포함할 수 있다. 다른 경우에, 블록체인 데이터 값은 그 이벤트에 대한 자세한 정보의 해시 값을 포함할 수 있으며, 여기서 자세한 정보는 별도의 데이터 스토리지에 저장될 수 있다. 일부 경우에, 문서 및 다른 데이터는 블록체인 데이터 값에, 예를 들어 직접적으로 또는 실행된 계약과 관련된 엔티티에 의해 소유된 것과 같이 다른 곳에 저장될 수 있는 기저 데이터(예를 들어, 실행된 계약)를 검증하는 데 사용할 수 있는 해시 값을 통해, 저장될 수 있다. 출처 블록체인의 사용 및 운영에 관한 추가 정보는 Steven C. Davis 등에 의해 2020년 5월 15일자에 "Method and System for Generalized Provenance Solution for Blockchain Supply Chain Applications" 명칭으로 출원된 미국 특허 출원 제16/875,154호에서 확인될 수 있다.In system 100, a blockchain network 104 may operate and store the provenance blockchain. Source Blockchain can be a blockchain that stores data about the supply chain, with events in the supply chain stored within it. These events include, for example, product manufacturing, pickup by a distribution entity, transportation from one storage facility to another, delivery to a retailer, sale by a retailer, resale by a consumer, product addition to a product group, product group This may include product separation from the product, chargeback of the product, etc. In some cases, the blockchain data values stored in the source blockchain for these events may contain detailed information about that event. In other cases, blockchain data values may include a hash value of detailed information about the event, where the detailed information may be stored in separate data storage. In some cases, documents and other data may be included in blockchain data values, for example, directly or as underlying data that may be stored elsewhere, such as that owned by an entity associated with the executed contract (e.g., an executed contract). It can be stored, with a hash value that can be used to verify. Source: For additional information regarding the use and operation of blockchain, see U.S. Patent Application No. 16/875,154, entitled “Method and System for Generalized Provenance Solution for Blockchain Supply Chain Applications,” filed May 15, 2020 by Steven C. Davis et al. It can be confirmed in the number.

시스템(100)에서, 소비자(110)는 제품을 구입하기 전에 구매되는 그 제품의 진위에 관심을 가질 수 있다. 제품이 제조될 때, 제조업자 시스템(106)은 제품 식별자를 제품에 할당할 수 있다. 일부 경우에, 제품 식별자는 제조된 모든 제품에 걸쳐 고유한 일련 번호와 같이 제품마다 고유할 수 있다. 다른 경우에, 제품 식별자는 한 세트의 의약품에 할당된 로트 번호와 같이 공통 세트의 모든 제품에 할당될 수 있으며, 여기서 세트의 각 품목은 추적 목적을 위해 동일한 것으로 간주될 수 있다. 제품 식별자는 정수 또는 영숫자 값과 같은 적합한 길이의 임의의 적합한 유형의 값일 수 있다. 제조된 제품은 출처 블록체인에 저장될 수 있으며, 여기서 제품의 생성은 블록체인에서 대응하는 항목에 저장될 수 있다.In system 100, a consumer 110 may be concerned with the authenticity of a product being purchased prior to purchasing the product. When a product is manufactured, manufacturer system 106 may assign a product identifier to the product. In some cases, a product identifier may be unique per product, such as a serial number that is unique across all products manufactured. In other cases, a product identifier may be assigned to all products in a common set, such as a lot number assigned to a set of pharmaceutical products, where each item in the set can be considered identical for tracking purposes. The product identifier may be a value of any suitable type, of suitable length, such as an integer or alphanumeric value. Manufactured products can be stored in a provenance blockchain, where the creation of a product can be stored in a corresponding entry on the blockchain.

제품은 제품 식별자의 해시를 통해 출처 블록체인에 저장될 수 있다. 해싱 알고리즘은 제품 식별자에 적용될 수 있으며, 그 결과 해시 값은 출처 블록체인에 저장될 수 있다. 해싱 알고리즘은, 예를 들어 사악한 행위자가 위조품에 정품의 일련번호나 다른 제품 식별자를 레이블링하는 것을 방지하기 위해, 단방향 해싱 알고리즘을 사용하는 경우에 기저 제품 식별자를 드러내지 않고 제품을 추적할 수 있게 한다. 예시적인 실시예에서, 이러한 해싱 알고리즘은 단방향 충돌 방지 해싱 알고리즘일 수 있다. 일부 경우에, 제조업자 시스템(106)은 위조에 대한 추가 조치로서 비순차적 일련 번호 및 다른 제품 식별자를 사용하도록 권장될 수 있다.Products can be stored in the provenance blockchain through a hash of the product identifier. A hashing algorithm can be applied to the product identifier, and the resulting hash value can be stored in the provenance blockchain. Hashing algorithms allow products to be tracked without revealing the underlying product identifier when using a one-way hashing algorithm, for example to prevent nefarious actors from labeling counterfeit products with genuine serial numbers or other product identifiers. In an example embodiment, this hashing algorithm may be a one-way collision-free hashing algorithm. In some cases, manufacturer systems 106 may be encouraged to use non-sequential serial numbers and other product identifiers as an additional measure against counterfeiting.

위에서 논의된 바와 같이, 제품의 유통은 출처 블록체인을 사용하여 추적될 수 있다. 결국, 제품은 소비자(110)에 의한 구매를 위해 판매자에게 배송될 수 있다. 판매자가 제품을 수령하면, 해싱된 제품 식별자 및 판매자에 의해 수락된 배송 표시를 포함하는 새로운 항목이 블록체인에 기입될 수 있다.As discussed above, distribution of products can be tracked using provenance blockchain. Ultimately, the product may be shipped to the seller for purchase by consumer 110. When the seller receives the product, a new entry can be entered into the blockchain containing the hashed product identifier and delivery indication accepted by the seller.

시스템(100)에서, 소비자(110)는 원하는 제품에 대한 지불에 사용될 거래 계좌를 발행받을 수 있다. 발행 은행과 같은 발행 금융 기관은 소비자(110)에게 거래 계좌를 발행할 수 있고, 거래 계좌 발행의 일부로서, 소비자가 발행한 거래 계좌를 통해 자금이 조달되는 결제 거래가 처리될 수 있도록 계좌 세부 사항을 전달하는 데 사용하기 위해 신용 카드나 직불 카드와 같은 결제 카드 또는 다른 결제 수단을 소비자(110)에게 발행할 수 있다.In system 100, consumer 110 may be issued a transaction account to be used to pay for desired products. An issuing financial institution, such as an issuing bank, may issue a transaction account to a consumer 110 and, as part of issuing a transaction account, provide account details so that payment transactions funded through the transaction account issued by the consumer can be processed. A payment card, such as a credit or debit card, or other payment method may be issued to the consumer 110 for use in making the payment.

소비자(110)가 원하는 제품을 구매하는 데 관심이 있으면, 소비자(110)는 제품을 선택하고 판매 시점 장치(108)에 접근하여 결제 거래를 수행하고 체크아웃 프로세스를 시작할 수 있다. 체크아웃 프로세스의 일부로서, 판매 시점 장치(108)는 진위가 검증될 구매되는 각 제품에 대한 제품 식별자를 수집할 수 있다. 일부 경우에, 소비자(110)는 어느 제품(들)이 진품인지 검증되기를 원하는지 나타낼 수 있다. 다른 경우에, 판매자는 출처 블록체인을 통해 추적되는 임의의 제품이나 소정 가격대보다 높은 제품과 같이 판매되는 제품의 진위를 검증해야 하는 규칙을 가질 수 있다. 판매 시점 장치(108)는 광학 이미징 장치를 이용한 기계 판독 가능 코드 판독, 근거리 통신 또는 무선 주파수와 같은 전자 전송을 통한 제품 식별자 수신, 판매자의 직원이나 소비자(110)에 의한 입력 장치를 통한 제품 식별자 입력 등과 같은 임의의 적합한 방법을 사용하여 제품 식별자를 수집할 수 있다. 일부 경우에, 수신된 제품 식별자는 해싱된 제품 식별자일 수 있다. 다른 경우에, 판매 시점 장치(108)는 제품 식별자를 수신 즉시 해싱하여 해싱된 제품 식별자를 생성할 수 있다.If consumer 110 is interested in purchasing a desired product, consumer 110 may select the product, access point-of-sale device 108, perform a payment transaction, and begin the checkout process. As part of the checkout process, point of sale device 108 may collect a product identifier for each product purchased whose authenticity is to be verified. In some cases, consumer 110 may indicate which product(s) he or she wishes to have verified as authentic. In other cases, sellers may have rules that require them to verify the authenticity of products being sold, such as any product being tracked through a provenance blockchain or products above a certain price point. Point-of-sale device 108 may be configured to read a machine-readable code using an optical imaging device, receive a product identifier via electronic transmission such as near-field communication or radio frequency, and enter a product identifier via an input device by a seller's employee or consumer 110. Product identifiers may be collected using any suitable method, such as the like. In some cases, the received product identifier may be a hashed product identifier. In other cases, point-of-sale device 108 may hash the product identifier upon receipt to generate a hashed product identifier.

판매 시점 장치(108)는 검증될 제품(들) 및 기타 제품의 구매를 위해 결제 거래 처리에 필요한 기타 정보를 수집할 수도 있다. 이러한 정보는 (예를 들어, 자기 스트립 판독, 근거리 통신 전송 수신 등을 통해 결제 수단에서 읽거나 이로부터 수신되는) 결제 거래에 대한 자금을 조달하는 데 사용될 소비자의 거래 계좌에 대한 거래 계좌 정보, 거래 금액, 판매 시점 식별자, 통화 유형, 거래 시간, 거래 날짜, 판매자 식별자, 판매자 카테고리 코드, 로열티 데이터, 보상 데이터, 쿠폰 데이터 등을 포함할 수 있다.Point of sale device 108 may also collect other information necessary to process payment transactions for the purchase of the product(s) to be verified and other products. Such information may include transaction account information about the consumer's transaction account that will be used to fund payment transactions (e.g., read from or received from a payment instrument, such as by reading a magnetic strip, receiving a near-field communication transmission, etc.); It may include amount, point-of-sale identifier, currency type, transaction time, transaction date, seller identifier, seller category code, loyalty data, rewards data, coupon data, etc.

선택된 제품(들)에 대해 소비자(110)에 의한 지불이 용이하도록 결제 거래의 처리를 개시하기 위해, 판매 시점 장치(108)는 거래 메시지를 생성할 수 있다. 거래 메시지는 국제 표준화 기구의 ISO 8583 또는 ISO 20022 표준과 같이 금융 거래 메시지의 교환을 관리하는 하나 이상의 표준에 따라 형식화된 특수 형식화 데이터 메시지일 수 있다. 거래 메시지는 복수의 데이터 요소를 포함할 수 있으며, 여기서 각 데이터 요소는 적용 가능한 표준(들)에 나타낸 바와 같이 데이터를 저장한다. 일부 경우에, 거래 메시지는 하나 이상의 비트맵을 포함할 수 있으며, 이는 거래 메시지 내의 각 데이터 요소에 저장된 데이터를 나타낼 수 있다. 각 거래 메시지는 또한 메시지 유형 표시자를 포함할 수 있으며, 이는 거래 메시지의 처리에 사용하기 위한 거래 메시지의 유형을 나타낼 수 있다.Point of sale device 108 may generate a transaction message to initiate processing of a payment transaction to facilitate payment by consumer 110 for the selected product(s). A transaction message may be a specially formatted data message formatted according to one or more standards governing the exchange of financial transaction messages, such as the ISO 8583 or ISO 20022 standards of the International Organization for Standardization. A transaction message may include multiple data elements, where each data element stores data as indicated in the applicable standard(s). In some cases, a transaction message may include one or more bitmaps, which may represent data stored in each data element within the transaction message. Each transaction message may also include a message type indicator, which may indicate the type of transaction message to be used in processing the transaction message.

전통적인 거래 메시지는 거래 금액의 저장과 같은 기정의 데이터 요소에서 결제 거래의 표준 처리에 사용하는 데 필요한 데이터, 결제 거래 자금을 조달하는 데 사용되는 소비자의 거래 계좌에 대한 거래 계좌 데이터, 결제 거래에서 자금을 수령하는 데 사용되는 판매자의 거래 계좌에 대한 거래 계좌 데이터, 및 거래 시간, 거래 날짜, 판매 시점 식별자, 통화 유형, 거래 시간, 거래 날짜, 판매자 식별자, 판매자 카테고리 코드, 로열티 데이터, 보상 데이터, 쿠폰 데이터와 같은 위의 거래 데이터 등을 저장할 수 있다. 시스템(100)에서, 거래 메시지는 진위가 검증될 각 제품에 대해 해싱된 제품 식별자를 저장할 수도 있다. 일부 경우에, 해싱된 제품 식별자는 모두 단일 데이터 요소에 저장될 수 있다. 다른 경우에, 여러 제품의 진위를 검증해야 하는 경우 해싱된 제품 식별자 각각은 자체 데이터 요소에 저장될 수 있다. 일부 경우에, 거래 메시지는, 예를 들어 검증되는 제품의 수가 소정 수를 초과하는 경우에, 해싱된 제품 식별자를 저장하는 데 사용하기 위해 추가 데이터 요소의 정의를 위한 추가 비트맵을 필요로 할 수 있다. 일부 실시예에서, 해싱된 제품 식별자를 저장하는 데 사용되는 데이터 요소는 적용 가능한 표준(들)에 따라 개인용 전용인 데이터 요소일 수 있다.Traditional transaction messages range from pre-established data elements, such as storage of the transaction amount, to data required for use in the standard processing of the payment transaction, to transaction account data about the consumer's transaction account used to fund the payment transaction, and funds from the payment transaction. Transaction account data for the merchant's transaction account used to receive, and transaction time, transaction date, point-of-sale identifier, currency type, transaction time, transaction date, merchant identifier, merchant category code, loyalty data, rewards data, coupons Data such as the above transaction data can be stored. In system 100, the transaction message may store a hashed product identifier for each product whose authenticity is to be verified. In some cases, all hashed product identifiers may be stored in a single data element. In other cases, when the authenticity of multiple products needs to be verified, each hashed product identifier can be stored in its own data element. In some cases, transaction messages may require additional bitmaps for the definition of additional data elements for use in storing hashed product identifiers, for example, if the number of products being verified exceeds a predetermined number. there is. In some embodiments, the data element used to store the hashed product identifier may be a data element that is for personal use only in accordance with the applicable standard(s).

판매 시점 장치(108)는 적합한 통신 네트워크 및 방법을 사용하여 거래 메시지를 인수 금융 기관(114)에 전자적으로 전송할 수 있다. 일부 경우에, 판매 시점 장치(108)는 거래 메시지를 인수 금융 기관(114)에 직접 전자적으로 전송할 수 있다. 다른 경우에, 판매 시점 장치(108)는 결제 네트워크(116)와 같은 하나 이상의 중개자를 통해 거래 메시지를 인수 금융 기관(114)에 전자적으로 전송할 수 있다. 일부 경우에, 거래 메시지는 판매 시점 장치(108)에 의해 직접적으로 또는 결제 네트워크(116)를 통해 결제 네트워크(116)와 연관된 결제 레일을 통해 인수 금융 기관(114)에 전자적으로 전송될 수 있다. 일부 실시예에서, 통신 네트워크 및 방법은 특별히 형식화된 거래 메시지의 전송을 위해 특별히 구성될 수 있다. 인수 금융 기관(114)은 인수 은행과 같은 금융 기관일 수 있거나, 또는 판매자와 관련된 전자 결제 거래에서 자금을 수령하는 데 사용하기 위해 판매자에게 거래 계좌를 발행하는 다른 엔티티일 수 있다.Point of sale device 108 may electronically transmit transaction messages to acquiring financial institution 114 using any suitable communications network and method. In some cases, point of sale device 108 may electronically transmit transaction messages directly to acquiring financial institution 114. In other cases, point-of-sale device 108 may transmit transaction messages electronically to acquiring financial institution 114 through one or more intermediaries, such as payment network 116. In some cases, transaction messages may be transmitted electronically by point-of-sale device 108 directly or via payment network 116 to acquiring financial institution 114 via a payment rail associated with payment network 116. In some embodiments, communication networks and methods may be specifically configured for transmission of specially formatted transaction messages. Acquiring financial institution 114 may be a financial institution, such as an acquiring bank, or another entity that issues a transaction account to the seller for use in receiving funds in electronic payment transactions involving the seller.

인수 금융 기관(114)은 거래 메시지를 수신할 수 있고 하나 이상의 제품 검증이 수행될 것임을 식별할 수 있다. 이러한 식별은 소정 데이터 요소에 하나 이상의 해싱된 제품 식별자의 저장에 기초하거나, 거래 메시지에 특정 비트맵 또는 비트맵 데이터의 포함에 기초하거나, 또는 제품 진위 검증이 요청되었음을 나타내거나 수행될 제품 검증 횟수를 나타낼 수 있는 소정 데이터 요소에 저장된 데이터 플래그와 같은 다른 표시에 기초할 수 있다. 어떠한 제품 검증도 수행되지 않는 경우, 거래 메시지는 전통적인 방법을 사용하여 처리될 수 있다.Acquiring financial institution 114 may receive the transaction message and identify that one or more product verifications will be performed. Such identification may be based on storage of one or more hashed product identifiers in a given data element, the inclusion of a specific bitmap or bitmap data in a transaction message, or indicating that product authenticity verification has been requested or the number of product verifications to be performed. The representation may be based on other representations, such as data flags stored on certain data elements. If no product verification is performed, transaction messages may be processed using traditional methods.

소비자(110)가 구매하는 제품의 진위 검증을 수행하기 위해, 인수 금융 기관(114)은 해싱된 제품 식별자를 거래 메시지로부터 파싱할 수 있다. 그런 다음, 해싱된 제품 식별자를 사용하여 검증 프로세스를 수행할 수 있다. 일부 실시예에서, 인수 금융 기관(114)은 검증 프로세스를 수행할 수 있다. 다른 실시예에서, 검증 프로세스는 검증 프로세서(118)에 의해 수행될 수 있으며, 이는 인수 금융 기관(114)과 별개인 제3자 컴퓨팅 시스템 및/또는 엔티티일 수 있다. 검증 프로세서(118)가 검증 프로세스를 수행하는 실시예에서, 인수 금융 기관(114)은 임의의 적합한 통신 네트워크 및 방법을 사용하여 파싱되고 해싱된 제품 식별자(들)를 검증 프로세서(118)에 전자적으로 전송할 수 있다. 예를 들어, 검증 프로세서(118)는 제품 진위를 검증하기 위해 해싱된 제품 식별자를 제출하도록 애플리케이션 프로그래밍 인터페이스를 활용할 수 있다.To perform verification of the authenticity of a product purchased by consumer 110, acquiring financial institution 114 may parse the hashed product identifier from the transaction message. A verification process can then be performed using the hashed product identifier. In some embodiments, acquiring financial institution 114 may perform a verification process. In other embodiments, the verification process may be performed by verification processor 118, which may be a third-party computing system and/or entity separate from acquiring financial institution 114. In embodiments where verification processor 118 performs the verification process, acquiring financial institution 114 electronically transmits the parsed and hashed product identifier(s) to verification processor 118 using any suitable communications network and method. Can be transmitted. For example, verification processor 118 may utilize an application programming interface to submit a hashed product identifier to verify product authenticity.

검증 프로세스는 해싱된 제품 식별자의 포함 여부를 식별하기 위해 출처 블록체인의 검사를 포함할 수 있다. 검증 프로세서(118)(예를 들어, 또는 적용 가능한 경우 인수 금융 기관(114))는 해싱된 제품 식별자를 포함하는 출처 블록체인에 포함된 모든 블록체인 데이터 항목을 식별할 수 있다. 그런 다음, 검증 프로세서(118)는, 예를 들어 출처 블록체인이 제조업자로부터의 초기 입력, 및 임의의 유통 엔티티에 의한 적절한 배송과 수락, 이어서 판매 시점 장치(108)와 연관된 판매자에 의한 제품 수령을 포함하는지 검증함으로써, 제품이 제조업자로부터 판매자까지 적절한 관리 연속성을 통과했는지 검증할 수 있다. 해싱된 제품 식별자를 포함하는 블록체인 데이터 항목이 없거나 제품의 관리 연속성을 성공적으로 검증할 수 없는 경우(예를 들어, 판매자가 제품 소유를 수락했지만 제조업자가 아직 유통업자에 의한 제품 픽업을 등록하지 않은 경우), 제품의 진위 검증은 실패할 수 있다. 그렇지 않은 경우, 검증은 성공적일 수 있고 그 제품은 진품 및 정품으로 판단될 수 있다. 인수 금융 기관(114)이 검증 프로세스를 수행하지 않는 경우, 검증 프로세스를 수행하는 엔티티(예를 들어, 검증 프로세서(118))는 각 해싱된 제품 식별자에 대한 검증 결과를 적절한 통신 방법을 사용하여 인수 금융 기관에 반환할 수 있다.The verification process may include checking the blockchain of origin to identify whether it contains a hashed product identifier. Verification processor 118 (e.g., or acquiring financial institution 114, if applicable) may identify all blockchain data items included in the originating blockchain that contain a hashed product identifier. Verification processor 118 then verifies, for example, the provenance blockchain's initial input from the manufacturer, and the appropriate delivery and acceptance by any distribution entity, followed by receipt of the product by the seller associated with point-of-sale device 108. By verifying that the product includes an appropriate chain of custody from the manufacturer to the seller, it can be verified that the product has passed the appropriate chain of custody. If there is no blockchain data item containing the hashed product identifier or the chain of custody of the product cannot be successfully verified (for example, if the seller has accepted possession of the product but the manufacturer has not yet registered the product for pickup by a distributor) case), product authenticity verification may fail. If not, the verification may be successful and the product may be judged as genuine and genuine. If the acquisition financial institution 114 does not perform the verification process, the entity performing the verification process (e.g., verification processor 118) transfers the verification results for each hashed product identifier to the acquisition using an appropriate communication method. It can be returned to the financial institution.

따라서, 인수 금융 기관(114)은 각 해싱된 제품 식별자에 대한 검증 결과를 가질 수 있다. 모든 검증이 성공적인 경우(예를 들어, 구매되는 모든 제품이 진품 및 정품인 경우), 인수 금융 기관(114)은 전통적인 시스템 및 방법을 사용하여 결제 거래 처리를 계속할 수 있다. 하나 이상의 검증이 실패하는 경우, 인수 금융 기관(114)은, 예를 들어 결제 거래 거부를 나타내는 응답 코드를 포함하는 인가 응답 거래 메시지를 판매 시점 장치(108)에 반환함으로써, 결제 거래를 거부할 수 있다. 일부 경우에, 응답 코드는 하나 이상의 제품 진위의 성공하지 못한 검증으로 인해 거부되었음을 나타낼 수 있다. 일부 경우에, 인가 응답 메시지는, 예를 들어 각 실패한 검증에 대해 해싱된 제품 식별자를 소정 데이터 요소 또는 요소들에 저장함으로써, 인가에 실패한 제품 또는 제품들을 나타낼 수 있다. 일부 추가 예에서, 해싱된 제품 식별자를 찾을 수 없음, 관리 연속성이 검증되지 않음 등을 나타내는 것과 같은 실패한 검증 이유를 추가로 나타낼 수 있다.Accordingly, the acquiring financial institution 114 may have verification results for each hashed product identifier. If all verifications are successful (e.g., all products purchased are genuine and authentic), the acquiring financial institution 114 may continue processing the payment transaction using traditional systems and methods. If one or more verifications fail, acquiring financial institution 114 may reject the payment transaction, for example, by returning an authorization response transaction message to point-of-sale device 108 that includes a response code indicating rejection of the payment transaction. there is. In some cases, the response code may indicate that one or more products were rejected due to unsuccessful verification of authenticity. In some cases, the authorization response message may indicate the product or products that failed authorization, such as by storing a hashed product identifier for each failed verification in some data element or elements. In some additional examples, it may further indicate a reason for the failed verification, such as indicating a hashed product identifier not found, chain of custody not verified, etc.

일부 실시예에서, 판매 시점 장치(108)는 성공하지 못한 검증(들)에 관한 정보를 디스플레이 장치를 통해 소비자(110)에게 통지를 표시할 수 있다. 예를 들어, 판매 시점 장치(108)는 어느 제품(들)이 성공적으로 검증되지 않았는지 전달할 수 있고, 소비자(110)에게 진위 검증에 실패한 제품(들) 없이도 제품(들)을 계속 구매하거나 거래를 계속할 수 있는 기회를 제공할 수 있다. 이러한 경우, 판매 시점 장치(108)는 통지를 본 후 소비자(110)가 선택한 제품에 대한 결제 거래를 처리하기 위해 인수 금융 기관(114)에 다른 거래 메시지를 제출할 수 있다. 소비자(110)가 결제 거래를 계속하기 원하지 않는 경우, 결제 거래가 취소될 수 있고 소비자(110)는 검증에 성공하지 못한 제품(들)을 구매하지 않고 그만둘 수 있다. 결제 거래가 성공적으로 처리되면, 소비자(110)에게 구매한 제품(들)이 제공될 수 있다.In some embodiments, point-of-sale device 108 may display a notification to consumer 110 via a display device with information regarding the unsuccessful verification(s). For example, the point-of-sale device 108 may communicate which product(s) have not been successfully verified and inform the consumer 110 to continue purchasing or transacting on the product(s) without the product(s) failing the authenticity verification. may provide an opportunity to continue. In this case, point of sale device 108 may submit another transaction message to acquiring financial institution 114 to process the payment transaction for the product selected by consumer 110 after viewing the notification. If consumer 110 does not wish to proceed with the payment transaction, the payment transaction may be canceled and consumer 110 may quit without purchasing the product(s) for which verification was not successful. If the payment transaction is successfully processed, the purchased product(s) may be provided to the consumer 110.

본원에서 논의된 시스템 및 방법을 통해 판매 시점에서 제품의 진위를 검증할 수 있다. 소비자(110)가 출처 블록체인에 출처가 저장된 제품을 구매하기 원하는 경우, 결제 거래 처리의 일부로 제품의 진위를 검증할 수 있다. 거래 메시지에 해싱된 제품 식별자를 전달함으로써, 기존의 통신 방법 및 기술을 사용하여 검증을 수행할 수 있으며, 이를 통해 기존의 판매 시점 시스템 및 금융 기관 시스템을 사용하여 검증을 수행할 수 있다. 또한, 소비자(110)가 어떠한 행위도 수행할 필요가 없으며, 이는 소비자(110)가 표준 거래 프로세스 밖의 임의의 행위를 수행하지 않고도 구매되는 제품의 진위를 확인할 수 있게 한다. 그 결과, 본원에서 논의된 방법과 시스템은 소비자(110) 및 판매자에게 가치 있는 서비스를 제공하여, 소비자 경험에 영향을 주지 않으며 기존 기술 및 프로세스에 의존하지 않고 위조품이 판매되지 않게 한다. 이러한 프로세스는, 예를 들어 위조 의약품의 판매를 방지하고 소비자(110)가 구매하는 의약품이 정품인지 확신할 수 있게 하도록, 건강 및 안전의 경우에 추가로 가치가 있을 수 있다.The systems and methods discussed herein allow for verification of product authenticity at the point of sale. If a consumer 110 wishes to purchase a product whose provenance is stored in the provenance blockchain, the authenticity of the product can be verified as part of payment transaction processing. By passing a hashed product identifier in the transaction message, verification can be performed using existing communication methods and technologies, which allows verification to be performed using existing point-of-sale and financial institution systems. Additionally, there is no need for the consumer 110 to perform any actions, which allows the consumer 110 to verify the authenticity of the product being purchased without performing any actions outside of the standard transaction process. As a result, the methods and systems discussed herein provide a valuable service to consumers 110 and sellers, ensuring that counterfeit products are not sold without impacting the consumer experience and without relying on existing technologies and processes. This process may be of additional value in health and safety cases, for example, to prevent the sale of counterfeit medicines and to allow consumers 110 to be confident that the medicine they are purchasing is genuine.

컴퓨팅 시스템computing system

도 2는 시스템(100)에서 컴퓨팅 시스템(200)의 일 실시예를 도시하고 있다. 도 2에 도시된 컴퓨팅 시스템(200)의 실시예가 단지 예시로서 제공되고 본원에서 논의된 바와 같은 기능을 수행하는 데 적합한 컴퓨팅 시스템(200)의 모든 가능한 구성을 망라하는 것이 아닐 수 있음은 당업자에게 명백할 것이다. 예를 들어, 도 5에 도시되며 아래에서 더 자세히 논의될 컴퓨터 시스템(500)은 컴퓨팅 시스템(200)의 적합한 구성일 수 있다. 도 1의 시스템(100)에서 블록체인 노드(102), 판매 시점 장치(108), 인수 금융 기관(114), 및 검증 프로세서(118)는 컴퓨팅 시스템(200)(예를 들어, 또는 컴퓨터 시스템(500))으로 구현될 수 있고 도 2에 도시되거나 아래에서 논의될 바와 같은 구성요소 중 하나 이상을 포함할 수 있다.2 illustrates one embodiment of computing system 200 in system 100. It will be apparent to those skilled in the art that the embodiment of computing system 200 shown in FIG. 2 is provided by way of example only and may not exhaust all possible configurations of computing system 200 suitable for performing the functions as discussed herein. something to do. For example, computer system 500, shown in Figure 5 and discussed in more detail below, may be a suitable configuration of computing system 200. In system 100 of FIG. 1, blockchain node 102, point-of-sale device 108, acquiring financial institution 114, and verification processor 118 are connected to computing system 200 (e.g., or computer system ( 500) and may include one or more of the components shown in FIG. 2 or as discussed below.

컴퓨팅 시스템(200)은 수신 장치(202)를 포함할 수 있다. 수신 장치(202)는 하나 이상의 네트워크 프로토콜을 거쳐 하나 이상의 네트워크를 통해 데이터를 수신하도록 구성될 수 있다. 일부 경우에, 수신 장치(202)는 무선 주파수, 근거리 통신망, 무선 통신망, 셀룰러 통신 네트워크, 블루투스, 인터넷 등과 같은 하나 이상의 통신 방법을 통해 다른 블록체인 노드(102), 제조업자 시스템(106), 판매 시점 장치(108), 발행 금융 기관(112), 인수 금융 기관(114), 결제 네트워크(116), 검증 프로세서(118), 및 다른 시스템 및 엔티티로부터 데이터를 수신하도록 구성될 수 있다. 일부 실시예에서, 수신 장치(202)는 근거리 통신망을 통해 데이터를 수신하기 위한 제1 수신 장치 및 인터넷을 통해 데이터를 수신하기 위한 제2 수신 장치와 같이, 서로 다른 네트워크를 통해 데이터를 수신하기 위한 서로 다른 수신 장치와 같은 여러 장치로 구성될 수 있다. 수신 장치(202)는 전자적으로 전송된 데이터 신호를 수신할 수 있으며, 여기서 데이터는 데이터 신호에 중첩되거나 또는 다른 방식으로 인코딩될 수 있고, 수신 장치(202)에 의한 데이터 신호의 수신을 통해 디코딩, 파싱, 판독, 또는 다른 방식으로 획득될 수 있다. 일부 경우에, 수신 장치(202)는 수신된 데이터 신호를 파싱하여 그에 중첩된 데이터를 획득하기 위한 파싱 모듈을 포함할 수 있다. 예를 들어, 수신 장치(202)는 수신된 데이터 신호를 수신하고 이를 본원에 설명된 방법 및 시스템을 실행하기 위해 처리 장치에 의해 수행되는 기능에 대한 사용 가능한 입력으로 변환하도록 구성된 파서 프로그램을 포함할 수 있다.Computing system 200 may include a receiving device 202. Receiving device 202 may be configured to receive data over one or more networks via one or more network protocols. In some cases, the receiving device 202 may communicate with other blockchain nodes 102, manufacturer systems 106, vendor systems 106, etc. via one or more communication methods such as radio frequencies, local area networks, wireless networks, cellular networks, Bluetooth, the Internet, etc. Can be configured to receive data from point-in-time device 108, issuing financial institution 112, acquiring financial institution 114, payment network 116, verification processor 118, and other systems and entities. In some embodiments, receiving device 202 may be configured to receive data through different networks, such as a first receiving device for receiving data through a local area network and a second receiving device for receiving data through the Internet. It may consist of several devices, such as different receiving devices. Receiving device 202 may receive an electronically transmitted data signal, where data may be superimposed on or otherwise encoded in the data signal, and reception of the data signal by receiving device 202 may include decoding: It may be parsed, read, or otherwise obtained. In some cases, the receiving device 202 may include a parsing module for parsing the received data signal to obtain data superimposed thereon. For example, receiving device 202 may include a parser program configured to receive a received data signal and convert it into usable input for functions performed by the processing device to execute the methods and systems described herein. You can.

수신 장치(202)는 거래 메시지와 중첩되거나 또는 다른 방식으로 인코딩될 수 있는 판매 시점 장치(108), 인수 금융 기관(114), 또는 결제 네트워크(116)에 의해 전자적으로 전송된 데이터 신호를 수신하도록 구성될 수 있다. 수신 장치(202)는 해싱된 제품 식별자, 검증 결과, 또는 통지 데이터와 중첩되거나 또는 다른 방식으로 인코딩된 인수 금융 기관(114)에 의해 전자적으로 전송된 데이터 신호를 수신하도록 구성될 수 있다. 수신 장치(202)는 또한 검증 프로세서(118)에 의해 전자적으로 전송된 데이터 신호를 수신하도록 구성될 수 있으며, 이는 검증 결과와 중첩되거나 또는 다른 방식으로 인코딩될 수 있다.Receiving device 202 is configured to receive data signals transmitted electronically by point-of-sale device 108, acquiring financial institution 114, or payment network 116, which may be overlaid with transaction messages or otherwise encoded. It can be configured. Receiving device 202 may be configured to receive data signals transmitted electronically by acquiring financial institution 114 that are overlaid or otherwise encoded with hashed product identifiers, verification results, or notification data. Receiving device 202 may also be configured to receive data signals transmitted electronically by verification processor 118, which may be overlaid with verification results or otherwise encoded.

컴퓨팅 시스템(200)은 또한 통신 모듈(204)을 포함할 수 있다. 통신 모듈(204)은 본원에서 논의된 기능을 수행하는 데 사용하기 위해 컴퓨팅 시스템(200)의 모듈, 엔진, 데이터베이스, 메모리, 및 다른 구성요소 사이에서 데이터를 전송하도록 구성될 수 있다. 통신 모듈(204)은 하나 이상의 통신 유형으로 구성될 수 있고 컴퓨팅 장치 내 통신을 위해 다양한 통신 방법을 활용할 수 있다. 예를 들어, 통신 모듈(204)은 버스, 접촉 핀 커넥터, 와이어 등으로 구성될 수 있다. 일부 실시예에서, 통신 모듈(204)은 또한 컴퓨팅 시스템(200)의 내부 구성요소와 외부에 연결된 데이터베이스, 디스플레이 장치, 입력 장치 등과 같은 컴퓨팅 시스템(200)의 외부 구성요소 사이에서 통신하도록 구성될 수 있다. 컴퓨팅 시스템(200)은 또한 처리 장치를 포함할 수 있다. 처리 장치는 당업자에게 명백한 바와 같이 본원에서 논의된 컴퓨팅 시스템(200)의 기능을 수행하도록 구성될 수 있다. 일부 실시예에서, 처리 장치는 질의 모듈(214), 생성 모듈(216), 유효성 검사 모듈(218), 거래 처리 모듈(220) 등과 같은 처리 장치의 하나 이상의 기능을 수행하도록 특별히 구성된 복수의 엔진 및/또는 모듈로 구성될 수 있고 및/또는 이를 포함할 수 있다. 본원에서 사용된 바와 같이, "모듈"이란 용어는 입력을 수신하고, 입력을 사용하여 하나 이상의 프로세스를 수행하고, 출력을 제공하도록 특별히 프로그래밍된 소프트웨어 또는 하드웨어일 수 있다. 다양한 모듈에 의해 수행되는 입력, 출력, 및 프로세스는 본 개시내용에 기초하여 당업자에게 명백할 것이다.Computing system 200 may also include a communications module 204. Communications module 204 may be configured to transfer data between modules, engines, databases, memory, and other components of computing system 200 for use in performing the functions discussed herein. Communication module 204 may be configured with one or more communication types and may utilize a variety of communication methods for communication within the computing device. For example, the communication module 204 may be composed of a bus, contact pin connector, wire, etc. In some embodiments, communication module 204 may also be configured to communicate between internal components of computing system 200 and external components of computing system 200, such as externally connected databases, display devices, input devices, etc. there is. Computing system 200 may also include a processing device. Processing devices may be configured to perform the functions of computing system 200 discussed herein, as will be apparent to those skilled in the art. In some embodiments, the processing unit may include a plurality of engines specifically configured to perform one or more functions of the processing unit, such as query module 214, generation module 216, validation module 218, transaction processing module 220, etc. /or may be composed of and/or include modules. As used herein, the term “module” can be software or hardware that is specifically programmed to receive input, perform one or more processes using the input, and provide output. The inputs, outputs, and processes performed by the various modules will be apparent to those skilled in the art based on this disclosure.

컴퓨팅 시스템(200)은 메모리(212)를 포함할 수 있다. 메모리(212)는 본원에서 논의된 기능을 수행 시 컴퓨팅 시스템(200)에 의해 사용하기 위한 데이터를 저장하도록 구성될 수 있다. 메모리(212)는 적합한 데이터 형식 방법 및 스키마를 사용하여 데이터를 저장하도록 구성될 수 있고, 읽기 전용 메모리, 랜덤 액세스 메모리 등과 같은 임의의 적합한 유형의 메모리일 수 있다. 메모리(212)는 예를 들어 암호화 키 및 알고리즘, 통신 프로토콜 및 표준, 데이터 형식화 표준 및 프로토콜, 처리 장치의 모듈 및 애플리케이션 프로그램에 대한 프로그램 코드, 및 당업자에게 명백한 바와 같이 본원에 개시된 기능의 수행 시 컴퓨팅 시스템(200)에 의해 사용하기에 적합할 수 있는 다른 데이터를 포함할 수 있다. 일부 실시예에서, 메모리(212)는 내부에 저장된 구조화된 데이터 세트의 저장, 식별, 수정, 업데이트, 액세스 등을 위해 구조화된 질의 언어를 활용하는 관계형 데이터베이스로 구성되거나 또는 다른 방식으로 이를 포함할 수 있다. 메모리(212)는 예를 들어 거래 데이터, 블록체인 데이터, 통신 데이터, 거래 메시지 형식화 표준, 해싱 알고리즘 등을 저장하도록 구성될 수 있다.Computing system 200 may include memory 212 . Memory 212 may be configured to store data for use by computing system 200 in performing the functions discussed herein. Memory 212 may be configured to store data using suitable data format methods and schemas, and may be any suitable type of memory, such as read-only memory, random access memory, etc. Memory 212 may contain, for example, encryption keys and algorithms, communication protocols and standards, data formatting standards and protocols, program code for modules of processing units and application programs, and computing in the performance of the functions disclosed herein, as will be apparent to those skilled in the art. It may include other data that may be suitable for use by system 200. In some embodiments, memory 212 may consist of or otherwise include a relational database that utilizes a structured query language to store, identify, modify, update, access, etc. structured data sets stored therein. there is. Memory 212 may be configured to store, for example, transaction data, blockchain data, communication data, transaction message formatting standards, hashing algorithms, etc.

컴퓨팅 시스템(200)은 질의 모듈(214)을 포함할 수 있다. 질의 모듈(214)은 정보를 식별하기 위해 데이터베이스에 대한 질의를 실행하도록 구성될 수 있다. 질의 모듈(214)은 하나 이상의 데이터 값 또는 질의 문자열을 수신할 수 있고, 내부에 저장된 정보를 식별하기 위해 컴퓨팅 시스템(200)의 메모리(212)와 같은 표시된 데이터베이스에 기초하여 질의 문자열을 실행할 수 있다. 그런 다음, 질의 모듈(214)은 필요에 따라 식별된 정보를 컴퓨팅 시스템(200)의 적절한 엔진 또는 모듈에 출력할 수 있다. 질의 모듈(214)은 예를 들어 제품 식별자를 해싱하기 위한 해싱 알고리즘을 식별하고, 거래 메시지를 생성하기 위한 거래 데이터를 식별하고, 검증 프로세스를 위한 블록체인 데이터를 식별하는 등을 위해 메모리(212)에 대한 질의를 실행할 수 있다.Computing system 200 may include query module 214 . Query module 214 may be configured to execute queries against the database to identify information. Query module 214 may receive one or more data values or a query string and execute the query string based on a displayed database, such as memory 212 of computing system 200, to identify information stored therein. . Query module 214 may then output the identified information to an appropriate engine or module of computing system 200 as needed. Query module 214 may, for example, identify hashing algorithms for hashing product identifiers, identify transaction data for generating transaction messages, identify blockchain data for verification processes, etc. You can run queries about .

컴퓨팅 시스템(200)은 또한 생성 모듈(216)을 포함할 수 있다. 생성 모듈(216)은 본원에서 논의된 기능을 수행 시 컴퓨팅 시스템(200)에 의해 사용하기 위한 데이터를 생성하도록 구성될 수 있다. 생성 모듈(216)은 명령어를 입력으로 수신할 수 있고, 명령어에 기초하여 데이터를 생성할 수 있고, 생성된 데이터를 컴퓨팅 시스템(200)의 하나 이상의 모듈에 출력할 수 있다. 예를 들어, 생성 모듈(216)은 수신된 제품 식별자에 해싱 알고리즘을 적용하여 해싱된 제품 식별자를 생성하도록 구성될 수 있다.Computing system 200 may also include generation module 216. Generation module 216 may be configured to generate data for use by computing system 200 in performing the functions discussed herein. The generation module 216 may receive a command as input, generate data based on the command, and output the generated data to one or more modules of the computing system 200. For example, generation module 216 may be configured to apply a hashing algorithm to a received product identifier to generate a hashed product identifier.

컴퓨팅 시스템(200)은 또한 유효성 검사 모듈(218)을 포함할 수 있다. 유효성 검사 모듈(218)은 본원에서 논의된 기능의 일부로서 컴퓨팅 시스템(200)에 대한 유효성 검사를 수행하도록 구성될 수 있다. 유효성 검사 모듈(218)은 유효성 검사를 수행 시 사용될 데이터를 또한 포함할 수 있는 명령어를 입력으로서 수신할 수 있고, 요청된 대로 유효성 검사를 수행할 수 있고, 유효성 검사의 결과를 컴퓨팅 시스템(200)의 다른 모듈 또는 엔진으로 출력할 수 있다. 유효성 검사 모듈(218)은 예를 들어 공급된 해싱된 제품 식별자를 포함하는 출처 블록체인에서 블록체인 데이터 값의 식별 및 블록체인 데이터 값의 검토를 통해 제품의 진위를 검증하고 대응하는 제품의 적절한 관리 연속성을 확보하기 위해 검증 프로세스를 수행하도록 구성될 수 있다.Computing system 200 may also include validation module 218. Validation module 218 may be configured to perform validation checks on computing system 200 as part of the functionality discussed herein. Validation module 218 may receive as input instructions that may also include data to be used in performing the validation, perform the validation as requested, and send the results of the validation to computing system 200. Can be output to other modules or engines. The validation module 218 verifies the authenticity of the product, for example through identification of blockchain data values in the provenance blockchain containing the supplied hashed product identifier and review of the blockchain data values, and appropriate management of the corresponding product. It may be configured to perform a verification process to ensure continuity.

컴퓨팅 시스템(200)은 또한 거래 처리 모듈(220)을 포함할 수 있다. 거래 처리 모듈(220)은 전자 결제 거래의 개시 및 처리를 위해 컴퓨팅 시스템(200)에 대한 기능을 수행하도록 구성될 수 있다. 거래 처리 모듈(220)은 거래 계좌 정보 및 다른 거래 데이터를 입력으로 수신할 수 있고 거래 메시지 또는 명령어를 컴퓨팅 시스템(200)의 다른 모듈 또는 엔진에 출력할 수 있다. 거래 처리 모듈(220)은 예를 들어 하나 이상의 적용 가능한 표준에 따라 형식화된 거래 메시지를 생성하도록 구성될 수 있으며, 이는 소정 데이터 요소에 저장된 해싱된 제품 식별자 뿐만 아니라 거래 데이터를 포함할 수 있다.Computing system 200 may also include transaction processing module 220. Transaction processing module 220 may be configured to perform functions on computing system 200 for initiation and processing of electronic payment transactions. Transaction processing module 220 may receive transaction account information and other transaction data as input and may output transaction messages or commands to other modules or engines of computing system 200. Transaction processing module 220 may be configured, for example, to generate a transaction message formatted according to one or more applicable standards, which may include transaction data as well as a hashed product identifier stored in predetermined data elements.

컴퓨팅 시스템(200)은 또한 전송 장치(222)를 포함할 수 있다. 전송 장치(222)는 하나 이상의 네트워크 프로토콜을 거쳐 하나 이상의 네트워크를 통해 데이터를 전송하도록 구성될 수 있다. 일부 경우에, 전송 장치(222)는 하나 이상의 통신 방법, 근거리 통신망, 무선 통신망, 셀룰러 통신, 블루투스, 무선 주파수, 인터넷 등을 통해 다른 블록체인 노드(102), 제조업자 시스템(106), 판매 시점 장치(108), 발행 금융 기관(112), 인수 금융 기관(114), 결제 네트워크(116), 검증 프로세서(118), 및 다른 엔티티에 데이터를 전송하도록 구성될 수 있다. 일부 실시예에서, 전송 장치(222)는 근거리 통신망을 통해 데이터를 전송하기 위한 제1 전송 장치 및 인터넷을 통해 데이터를 전송하기 위한 제2 전송 장치와 같이, 서로 다른 네트워크를 통해 데이터를 전송하기 위한 서로 다른 전송 장치와 같은 여러 장치로 구성될 수 있다. 전송 장치(222)는 수신 컴퓨팅 장치에 의해 파싱될 수 있는 중첩된 데이터를 갖는 데이터 신호를 전자적으로 전송할 수 있다. 일부 경우에, 전송 장치(222)는 데이터를 전송에 적합한 데이터 신호로 중첩, 인코딩, 또는 다른 방식으로 형식화하기 위한 하나 이상의 모듈을 포함할 수 있다.Computing system 200 may also include a transmission device 222. The transmission device 222 may be configured to transmit data through one or more networks via one or more network protocols. In some cases, the transmitting device 222 can communicate with other blockchain nodes 102, manufacturer systems 106, point-of-sale, etc. via one or more communication methods, such as local area networks, wireless networks, cellular communications, Bluetooth, radio frequency, the Internet, etc. The device 108 may be configured to transmit data to an issuing financial institution 112, an acquiring financial institution 114, a payment network 116, a verification processor 118, and other entities. In some embodiments, transmission device 222 may be configured to transmit data over different networks, such as a first transmission device for transmitting data over a local area network and a second transmission device for transmitting data over the Internet. It may consist of several devices, such as different transmission devices. Transmission device 222 may electronically transmit a data signal with overlapping data that can be parsed by a receiving computing device. In some cases, transmission device 222 may include one or more modules for superimposing, encoding, or otherwise formatting data into a data signal suitable for transmission.

전송 장치(222)는 거래 메시지와 중첩되거나 또는 다른 방식으로 인코딩될 수 있는 판매 시점 장치(108), 인수 금융 기관(114), 또는 결제 네트워크(116)에 데이터 신호를 전자적으로 전송하도록 구성될 수 있다. 전송 장치(222)는 해싱된 제품 식별자, 검증 결과, 또는 통지 데이터와 중첩되거나 또는 다른 방식으로 인코딩된 인수 금융 기관(114), 검증 프로세서(118), 또는 판매 시점 장치(108)에 데이터 신호를 전자적으로 전송하도록 구성될 수 있다. 전송 장치(222)는 또한 데이터 신호를 인수 금융 기관(114)에 전자적으로 전송하도록 구성될 수 있으며, 이는 검증 결과와 중첩되거나 또는 다른 방식으로 인코딩될 수 있다.Transmission device 222 may be configured to electronically transmit data signals to point-of-sale device 108, acquiring financial institution 114, or payment network 116, which may be overlaid with transaction messages or otherwise encoded. there is. Transmission device 222 sends a data signal to acquiring financial institution 114, verification processor 118, or point-of-sale device 108 that is overlaid or otherwise encoded with hashed product identifiers, verification results, or notification data. It may be configured to transmit electronically. Transmission device 222 may also be configured to electronically transmit data signals to acquiring financial institution 114, which may be overlaid with verification results or otherwise encoded.

판매 시점에서 제품 진위를 검증하기 위한 프로세스Process for verifying product authenticity at point of sale

도 3a 및 도 3b는 도 1에 도시되며 위에서 논의된 시스템(100)에서 거래 메시지를 사용하여 판매 시점에서 구매되는 하나 이상의 제품의 진위 검증을 위한 프로세스를 도시하고 있다.Figures 3A and 3B illustrate a process for verifying the authenticity of one or more products purchased at a point of sale using transaction messages in the system 100 shown in Figure 1 and discussed above.

단계 302에서, 판매 시점 장치(108)는 대응하는 제품의 제품 식별자와 인코딩된 제품에 표시된 기계 판독 가능 코드를 판독하는 것과 같은 적합한 방법을 사용하여 소비자(110)가 구매할 하나 이상의 제품으로부터 제품 식별자를 판독할 수 있다. 제품 식별자는 제품에 고유할 수도 있거나 또는 다른 방식으로 의약품에 대한 로트 번호와 같이 제품과 연관될 수 있다. 단계 304에서, 판매 시점 장치(108)는 (예를 들어, 생성 모듈(216)을 통해) 판독된 제품 식별자를 해싱하여 진위가 검증될 각 제품에 대한 해싱된 제품 식별자를 생성할 수 있다. 일부 경우에, 소비자(110)는 진위가 검증되기를 원하는 제품을 나타낼 수 있다. 다른 경우에, 제품은 하나 이상의 규칙 또는 기준을 통해 식별될 수 있으며, 이는 제품 식별자 판독 시 판매 시점 장치(108)에 의해 자동으로 식별될 수 있다. 단계 306에서, 판매 시점 장치(108)는 (예를 들어, 거래 처리 모듈(220)을 통해) 단계 302에서 제품 식별자가 판독된 제품의 구매를 위한 결제 거래에 대한 거래 메시지를 생성할 수 있다. 거래 메시지는 금융 거래 메시지의 교환을 관리하는 하나 이상의 표준에 따라 특별히 형식화될 수 있고, 해싱된 제품 식별자(들)를 저장하는 하나 이상의 데이터 요소를 포함하여 거래 데이터를 저장하는 복수의 데이터 요소를 포함할 수 있다.At step 302, point-of-sale device 108 obtains a product identifier from one or more products to be purchased by consumer 110 using a suitable method, such as reading the product identifier of the corresponding product and a machine-readable code displayed on the encoded product. It can be read. A product identifier may be unique to the product or may be associated with the product in some other way, such as a lot number for a drug product. At step 304, point-of-sale device 108 may hash the read product identifiers (e.g., via generation module 216) to generate a hashed product identifier for each product whose authenticity is to be verified. In some cases, consumer 110 may indicate a product for which the authenticity of the product wishes to be verified. In other cases, products may be identified through one or more rules or criteria, which may be automatically identified by point-of-sale device 108 upon reading the product identifier. At step 306, point-of-sale device 108 may generate (e.g., via transaction processing module 220) a transaction message for a payment transaction for the purchase of the product for which the product identifier was read in step 302. The transaction message may be specifically formatted according to one or more standards governing the exchange of financial transaction messages and may include a plurality of data elements storing transaction data, including one or more data elements storing hashed product identifier(s). can do.

단계 308에서, 판매 시점 장치(108)는 생성된 거래 메시지를, 예를 들어 결제 네트워크(116)와 연관된 결제 레일을 통해, (예를 들어 전송 장치(222)를 통해) 인수 금융 기관(114)에 전자적으로 전송할 수 있다. 단계 310에서, 인수 금융 기관(114)은 판매 시점 장치(108)로부터 거래 메시지를 (예를 들어, 수신 장치(202)를 통해) 수신할 수 있다. 단계 312에서, 인수 금융 기관(114)은 진위가 검증될 제품에 대한 해싱된 제품 식별자(들)를 이들이 저장된 소정 데이터 요소(들)로부터 (예를 들어, 질의 모듈(214)을 통해) 파싱할 수 있으며, 이는 거래 메시지에서 하나 이상의 비트맵을 통해 식별될 수 있다. 단계 314에서, 인수 금융 기관(114)은, 예를 들어 검증 프로세서(118)에 의해 이용 가능하게 이루어진 애플리케이션 프로그래밍 인터페이스를 사용하여, 해싱된 제품 식별자 각각에 대한 검증 요청을 검증 프로세서(118)에 (예를 들어, 전송 장치(222)를 통해) 제출할 수 있다. 단계 316에서, 검증 프로세서(118)는 하나 이상의 검증 요청을 (예를 들어, 수신 장치(202)를 통해) 수신할 수 있으며, 그 각각은 거래 메시지로부터 파싱된 해싱된 제품 식별자를 포함할 수 있다.At step 308, point-of-sale device 108 transmits the generated transaction message to acquiring financial institution 114 (e.g., via transmission device 222), e.g., via a payment rail associated with payment network 116. can be transmitted electronically. At step 310, acquiring financial institution 114 may receive (e.g., via receiving device 202) a transaction message from point-of-sale device 108. At step 312, acquiring financial institution 114 parses (e.g., via query module 214) the hashed product identifier(s) for the product whose authenticity is to be verified from any data element(s) in which they are stored. This can be identified through one or more bitmaps in the transaction message. At step 314, acquisition financial institution 114 sends a verification request for each hashed product identifier to verification processor 118, for example, using an application programming interface made available by verification processor 118. For example, via transmission device 222). At step 316, verification processor 118 may receive one or more verification requests (e.g., via receiving device 202), each of which may include a hashed product identifier parsed from the transaction message. .

단계 318에서, 검증 프로세서(118)는 각 검증 요청에 대한 검증 프로세스를 (예를 들어, 유효성 검사 모듈(218)을 통해) 수행할 수 있다. 검증 프로세스는 해싱된 제품 식별자를 포함하는 출처 블록체인에 저장된 모든 블록체인 데이터 값을 식별하는 단계, 및 제품 제조부터 판매 시점 장치(108)와 연관된 판매자에 의한 소유까지 적절한 관리 연속성이 있는지를 결정하는 단계를 포함할 수 있다. 일부 경우에, 판매 시점 장치(108)에 대한 장치 식별자 또는 판매자 식별자는 거래에 관련된 판매자가 출처 블록체인에서 판매용 제품을 수락한 판매자와 동일한 판매자인지 확인하는 검증 요청에 포함될 수 있다. 검증 프로세서(118)는 각 해싱된 제품 식별자에 대한 검증 프로세스의 결과(예를 들어, 성공 또는 실패)를 식별할 수 있고, 단계 320에서 각 검증 요청에 대한 검증 결과를, 예를 들어 애플리케이션 프로그래밍 인터페이스를 통해, 인수 금융 기관(114)에 (예를 들어, 전송 장치(222)를 통해) 전자적으로 전송할 수 있다.At step 318, verification processor 118 may perform a verification process (e.g., via validation module 218) for each verification request. The verification process identifies all blockchain data values stored in the provenance blockchain, including the hashed product identifier, and determines whether there is appropriate chain of custody from product manufacture to ownership by the seller associated with the point-of-sale device 108. May include steps. In some cases, a device identifier or seller identifier for the point-of-sale device 108 may be included in the verification request to verify that the seller involved in the transaction is the same seller that accepted the product for sale on the originating blockchain. Verification processor 118 may identify the result of the verification process (e.g., success or failure) for each hashed product identifier and, at step 320, provide the verification result for each verification request, e.g., through an application programming interface. may be transmitted electronically (e.g., via transmission device 222) to the acquiring financial institution 114.

단계 322에서, 인수 금융 기관(114)은 (예를 들어, 수신 장치(202)를 통해) 검증 프로세서(118)로부터 검증 결과(들)를 수신할 수 있다. 단계 324에서, 인수 금융 기관(114)은 (예를 들어, 거래 처리 모듈(220)을 통해) 결제 거래가 처리되어야 하는지를 결정할 수 있다. 결정은 검증 결과에 기초할 수 있으며, 여기서 하나 이상의 실패한 검증으로 인해 인수 금융 기관(114)에 의해 결제 거래가 거부될 수 있다. 이러한 경우, 인가 응답(예를 들어, 거래 메시지에서 메시지 유형 표시자에 의해 표시됨)은 판매 시점 장치(108)로 반환될 수 있다. 도 3b에 도시된 예에서, 인수 금융 기관(114)은 모든 검증 결과가 성공적이었다고 판단할 수 있고, 단계 326에서 전통적인 방법이나 시스템을 사용하여 처리하기 위해 결제 레일을 통해 결제 거래에 대한 거래 메시지를 결제 네트워크(116) 또는 발행 금융 기관(112)에 (예를 들어, 전송 장치(222)를 통해) 전자적으로 전송할 수 있다. 일부 경우에, 해싱된 제품 식별자(들)는 인수 금융 기관(114)에 의해 전달되기 전에 거래 메시지로부터 제거될 수 있다.At step 322, acquiring financial institution 114 may receive verification result(s) from verification processor 118 (e.g., via receiving device 202). At step 324, acquiring financial institution 114 may determine whether a payment transaction should be processed (e.g., via transaction processing module 220). The decision may be based on verification results, where one or more failed verifications may result in the payment transaction being rejected by the acquiring financial institution 114. In such cases, an authorization response (e.g., indicated by a message type indicator in the transaction message) may be returned to the point-of-sale device 108. In the example shown in Figure 3B, acquiring financial institution 114 may determine that all verification results were successful and, at step 326, send the transaction message for the payment transaction through the payment rail for processing using traditional methods or systems. may be transmitted electronically (e.g., via transmission device 222) to a payment network 116 or issuing financial institution 112. In some cases, the hashed product identifier(s) may be removed from the transaction message prior to delivery by the acquiring financial institution 114.

단계 328에서, 인수 금융 기관(114)은 (예를 들어, 전송 장치(222)를 통해) 통지 메시지를 판매 시점 장치(108)에 전자적으로 전송할 수 있다. 통지 메시지는 적용 가능한 제품 각각의 인가가 성공적이었음을 나타낼 수 있다. 단계 330에서, 판매 시점 장치(108)는 (예를 들어, 수신 장치(202)를 통해) 통지 메시지를 수신할 수 있다. 단계 332에서, 통지 메시지는 소비자(110)에게 표시될 수 있으며, 이는 구매되는 제품이 출처 블록체인을 사용하여 진위의 성공적 검증 결과로 정품임을 소비자(110)에게 확보할 수 있다. 전통적인 방법을 사용하여 결제 거래가 처리되고 제품이 소비자(110)에게 제공될 수 있다.At step 328, acquiring financial institution 114 may electronically transmit a notification message (e.g., via transmission device 222) to point-of-sale device 108. The notification message may indicate that authorization of each applicable product was successful. At step 330, point-of-sale device 108 may receive a notification message (e.g., via receiving device 202). At step 332, a notification message may be displayed to the consumer 110, which may assure the consumer 110 that the product being purchased is genuine as a result of successful verification of authenticity using the provenance blockchain. Payment transactions may be processed and products provided to consumers 110 using traditional methods.

제품 진위를 검증하기 위한 예시적인 방법Exemplary Methods for Verifying Product Authenticity

도 4는 거래 메시지를 통해 판매 시점에서 제품 진위를 검증하기 위한 방법(400)을 도시하고 있다.Figure 4 illustrates a method 400 for verifying product authenticity at the point of sale via transactional messages.

단계 402에서, 하나 이상의 제품 식별 값은 판매 시점 장치(예를 들어, 판매 시점 장치(108))에 의해 (예를 들어, 수신 장치(202)를 통해) 수신될 수 있으며, 각 제품 식별 값은 결제 거래에서 구매되는 제품에 대응한다. 단계 404에서, 거래 메시지는 하나 이상의 제품 식별 값을 저장하는 하나 이상의 데이터 요소를 포함하는 판매 시점 장치에 의해 (예를 들어, 생성 모듈(216)을 통해) 생성될 수 있으며, 여기서 거래 메시지는 하나 이상의 표준에 따라 형식화된다. 단계 406에서, 거래 메시지는 판매 시점 장치에 의해 제1 처리 시스템(예를 들어, 인수 금융 기관(114))으로 (예를 들어, 전송 장치(222)를 통해) 전송될 수 있다.At step 402, one or more product identification values may be received (e.g., via receiving device 202) by a point-of-sale device (e.g., point-of-sale device 108), where each product identification value may be Corresponds to products purchased in payment transactions. At step 404, a transaction message may be generated by the point-of-sale device (e.g., via generation module 216) that includes one or more data elements storing one or more product identification values, where the transaction message includes one or more It is formatted according to the above standards. At step 406, the transaction message may be transmitted (e.g., via transmission device 222) by the point-of-sale device to a first processing system (e.g., acquiring financial institution 114).

단계 408에서, 수신된 거래 메시지에 포함된 하나 이상의 데이터 요소로부터 파싱된 하나 이상의 제품 식별 값은 제1 처리 시스템에 의해 (예를 들어, 전송 장치(222)를 통해) 제2 처리 시스템(예를 들어, 검증 프로세서(118))으로 전송될 수 있다. 단계 410에서, 제1 처리 시스템은 제2 처리 시스템으로부터 하나 이상의 제품 식별 값 각각에 대한 검증 결과를 (예를 들어, 수신 장치(202)를 통해) 수신할 수 있다. 단계 412에서, 결제 거래는 제1 처리 시스템에 의해 (예를 들어, 거래 처리 모듈(220)을 통해) 처리될 수 있고, 처리는 (i) 하나 이상의 제품 식별 값 중 적어도 하나에 대한 검증 결과가 실패한 검증임을 나타내는 경우 결제 거래를 거부하는 판매 시점 장치에 응답 메시지를 (예를 들어, 전송 장치(222)를 통해) 전송하는 단계, 또는 (ii) 하나 이상의 제품 식별 값 각각에 대한 검증 결과가 성공적인 검증임을 나타내는 경우 거래 메시지를 결제 네트워크(예를 들어, 결제 네트워크(116))로 전송하는 단계를 포함한다.At step 408, one or more product identification values parsed from one or more data elements included in the received transaction message are transmitted by the first processing system (e.g., via transmission device 222) to a second processing system (e.g. For example, it may be transmitted to the verification processor 118). At step 410, the first processing system may receive (e.g., via receiving device 202) a verification result for each of the one or more product identification values from the second processing system. At step 412, the payment transaction may be processed by a first processing system (e.g., via transaction processing module 220), wherein processing includes (i) a verification result for at least one of the one or more product identification values; (ii) transmitting a response message (e.g., via transmission device 222) to a point-of-sale device rejecting the payment transaction if it indicates a failed verification, or (ii) indicating that the verification result for each of the one or more product identification values is successful. If verification is indicated, transmitting the transaction message to a payment network (e.g., payment network 116).

일 실시예에서, 거래 메시지는 결제 레일을 사용하여 제1 처리 시스템으로 전송될 수 있다. 일부 실시예에서, 제1 처리 시스템은 인수 금융 기관 시스템일 수 있고, 제2 처리 시스템은 제3자 프로세서 시스템일 수 있다. 일 실시예에서, 하나 이상의 표준은 ISO 8583 및 ISO 20022 중 적어도 하나를 포함할 수 있다. 일부 실시예에서, 하나 이상의 데이터 요소는 하나 이상의 표준에 따라 개인용 전용일수 있다.In one embodiment, transaction messages may be transmitted to the first processing system using a payment rail. In some embodiments, the first processing system may be an acquiring financial institution system and the second processing system may be a third-party processor system. In one embodiment, the one or more standards may include at least one of ISO 8583 and ISO 20022. In some embodiments, one or more data elements may be reserved for personal use only according to one or more standards.

일 실시예에서, 하나 이상의 제품 식별 값은 애플리케이션 프로그래밍 인터페이스를 사용하여 제2 처리 시스템으로 전송될 수 있다. 일부 실시예에서, 본 방법(400)은 판매 시점 장치가 해싱 알고리즘을 제품 식별 값에 적용함으로써 하나 이상의 제품 식별 값 각각에 대한 해시 값을 (예를 들어, 생성 모듈(216)를 통해) 생성하는 단계를 더 포함할 수 있고, 거래 메시지에 포함된 하나 이상의 데이터 요소는 제품 식별 값 대신에 하나 이상의 제품 식별 값 각각에 대한 해시 값을 저장한다. 일 실시예에서, 본 방법(400)은 또한 제2 처리 시스템이 제1 처리 시스템으로부터 하나 이상의 제품 식별 값을 (예를 들어, 수신 장치(202)를 통해) 수신하는 단계; 제2 처리 시스템이 블록체인을 포함하는 복수의 블록 중 한 블록에 제품 식별 값이 포함된 것에 기초하여 하나 이상의 제품 식별 값 각각에 대한 검증 결과를 (예를 들어, 검증 모듈(218)을 통해) 결정하는 단계로서, 복수의 블록 중 어느 블록에도 제품 식별 값이 포함되지 않은 경우 실패한 검증이 발생하는, 단계; 및 제2 처리 시스템이 하나 이상의 제품 식별 값 각각에 대한 검증 결과를 제1 처리 시스템으로 (예를 들어, 전송 장치(222)를 통해) 전송하는 단계를 포함할 수 있다.In one embodiment, one or more product identification values may be transmitted to a second processing system using an application programming interface. In some embodiments, the method 400 allows a point-of-sale device to generate (e.g., via generation module 216) a hash value for each of one or more product identification values by applying a hashing algorithm to the product identification values. The step may further include, wherein one or more data elements included in the transaction message store a hash value for each of the one or more product identification values instead of the product identification value. In one embodiment, the method 400 also includes a second processing system receiving (e.g., via receiving device 202) one or more product identification values from the first processing system; The second processing system generates a verification result for each of the one or more product identification values (e.g., via the verification module 218) based on the fact that the product identification value is included in one of the plurality of blocks comprising the blockchain. determining, wherein a failed verification occurs if none of the plurality of blocks contains a product identification value; and the second processing system transmitting (e.g., via transmission device 222) the verification results for each of the one or more product identification values to the first processing system.

컴퓨터 시스템 아키텍처computer system architecture

도 5는 본 개시내용의 실시예 또는 그 일부가 컴퓨터 판독 가능 코드로 구현될 수 있는 컴퓨터 시스템(500)을 도시하고 있다. 예를 들어, 도 1의 판매 시점 장치(108), 인수 금융 기관(114), 및 검증 프로세서(118), 및 도 2의 컴퓨팅 시스템(200)은 하드웨어, 명령어가 저장된 비일시적 컴퓨터 판독 가능 매체, 또는 이들의 조합을 사용하여 컴퓨터 시스템(500)에서 구현될 수 있고 하나 이상의 컴퓨터 시스템 또는 다른 처리 시스템에서 구현될 수 있다. 하드웨어는 도 3a, 도 3b, 및 도 4의 방법을 구현하는 데 사용되는 모듈 및 구성요소를 구현할 수 있다.5 illustrates a computer system 500 in which embodiments of the present disclosure, or portions thereof, may be implemented in computer-readable code. For example, point-of-sale device 108, acquisition financial institution 114, and verification processor 118 of FIG. 1, and computing system 200 of FIG. 2 include hardware, a non-transitory computer-readable medium storing instructions; or a combination thereof may be implemented in computer system 500 and may be implemented in one or more computer systems or other processing systems. Hardware may implement the modules and components used to implement the methods of FIGS. 3A, 3B, and 4.

프로그래머블 로직이 사용되는 경우, 이러한 로직은 실행 가능한 소프트웨어 코드에 의해 구성된 상용 처리 플랫폼에서 실행되어 특정 목적의 컴퓨터 또는 특수 목적의 장치(예를 들어, 프로그래머블 로직 어레이, 주문형 집적 회로 등)가 될 수 있다. 당업자는 개시된 기술 요지의 실시예가 멀티 코어 멀티프로세서 시스템, 미니컴퓨터, 메인프레임 컴퓨터, 분산 기능으로 링크되거나 클러스터링된 컴퓨터, 및 거의 모든 장치에 내장될 수 있는 퍼베이시브 또는 소형 컴퓨터를 포함하는 다양한 컴퓨터 시스템 구성으로 실행될 수 있음을 이해할 수 있다. 예를 들어, 적어도 하나의 프로세서 장치 및 메모리는 전술한 실시예를 구현하는 데 사용될 수 있다.When programmable logic is used, such logic can be executed on an off-the-shelf processing platform configured by executable software code to be a special purpose computer or special purpose device (e.g., programmable logic array, custom integrated circuit, etc.). . Those skilled in the art will understand that embodiments of the disclosed subject matter can be used in a variety of computer system configurations, including multi-core multiprocessor systems, minicomputers, mainframe computers, computers linked or clustered with distributed functions, and pervasive or compact computers that can be embedded in virtually any device. It can be understood that it can be executed as . For example, at least one processor device and memory may be used to implement the above-described embodiments.

본원에서 논의된 바와 같은 프로세서 유닛 또는 장치는 단일 프로세서, 복수의 프로세서, 또는 이들의 조합일 수 있다. 프로세서 장치는 하나 이상의 프로세서 "코어"를 구비할 수 있다. 본원에서 논의된 바와 같은 "컴퓨터 프로그램 매체", "비일시적 컴퓨터 판독 가능 매체", 및 "컴퓨터 사용 가능 매체"라는 용어는 일반적으로 이동식 저장 유닛(518), 이동식 저장 유닛(522) 및 하드디스크 드라이브(512)에 설치된 하드디스크와 같은 유형식 미디어를 지칭하는 데 사용된다.A processor unit or device as discussed herein may be a single processor, multiple processors, or a combination thereof. A processor device may have one or more processor “cores.” As discussed herein, the terms “computer program media,” “non-transitory computer-readable media,” and “computer-usable media” generally refer to removable storage unit 518, removable storage unit 522, and hard disk drive. It is used to refer to tangible media such as a hard disk installed in (512).

본 개시내용의 다양한 실시예는 이러한 예시적인 컴퓨터 시스템(500)의 관점에서 설명된다. 이러한 설명을 읽은 후, 다른 컴퓨터 시스템 및/또는 컴퓨터 아키텍처를 사용하여 본 개시내용을 구현하는 방법은 당업자에게 명백해질 것이다. 동작은 순차적 프로세스로 설명될 수 있지만, 동작 중 일부는 실제로 병렬로, 동시에, 및/또는 분산 환경에서 수행될 수 있으며 단일 또는 다중 프로세서 머신에서 액세스할 수 있도록 로컬 또는 원격으로 저장된 프로그램 코드를 사용하여 수행될 수 있다. 또한, 일부 실시예에서, 동작 순서는 개시된 기술 요지의 사상을 벗어나지 않고 재배열될 수 있다.Various embodiments of the present disclosure are described in terms of this example computer system 500. After reading this description, it will become apparent to those skilled in the art how to implement the present disclosure using other computer systems and/or computer architectures. Although operations may be described as sequential processes, some of the operations may actually be performed in parallel, concurrently, and/or in a distributed environment, using program code stored locally or remotely so that it can be accessed by single or multiprocessor machines. It can be done. Additionally, in some embodiments, the order of operations may be rearranged without departing from the spirit of the disclosed technical subject matter.

프로세서 장치(504)는 본원에서 논의된 기능을 수행하도록 특별히 구성된 특수 목적 또는 범용 프로세서 장치일 수 있다. 프로세서 장치(504)는 버스, 메시지 큐, 네트워크, 멀티 코어 메시지 전달 스키마 등과 같은 통신 인프라(506)에 연결될 수 있다. 네트워크는 본원에 개시된 기능을 수행하는 데 적합한 임의의 네트워크일 수 있고 근거리 통신망(LAN), 광역 통신망(WAN), 무선 네트워크(예를 들어, WiFi), 이동 통신 네트워크, 위성 네트워크, 인터넷, 광섬유, 동축 케이블, 적외선, 무선 주파수(RF), 또는 이들의 임의의 조합을 포함할 수 있다. 다른 적합한 네트워크 유형 및 구성은 당업자에게 명백할 것이다. 컴퓨터 시스템(500)은 또한 주 메모리(508)(예를 들어, 랜덤 액세스 메모리, 읽기 전용 메모리 등)를 포함할 수 있고, 보조 메모리(510)도 포함할 수 있다. 보조 메모리(510)는 하드 디스크 드라이브(512), 및 플로피 디스크 드라이브, 자기 테이프 드라이브, 광 디스크 드라이브, 플래시 메모리 등과 같은 이동식 저장 드라이브(514)를 포함할 수 있다.Processor device 504 may be a special purpose or general purpose processor device specifically configured to perform the functions discussed herein. Processor device 504 may be coupled to a communication infrastructure 506 such as a bus, message queue, network, multi-core message passing scheme, etc. The network may be any network suitable for performing the functions disclosed herein and may include a local area network (LAN), a wide area network (WAN), a wireless network (e.g., WiFi), a mobile communications network, a satellite network, the Internet, fiber optic, It may include coaxial cable, infrared, radio frequency (RF), or any combination thereof. Other suitable network types and configurations will be apparent to those skilled in the art. Computer system 500 may also include main memory 508 (e.g., random access memory, read only memory, etc.) and may also include secondary memory 510. Auxiliary memory 510 may include a hard disk drive 512 and a removable storage drive 514 such as a floppy disk drive, magnetic tape drive, optical disk drive, flash memory, etc.

이동식 저장 드라이브(514)는 주지된 방식으로 이동식 저장 유닛(518)에 대한 읽기 및/또는 쓰기를 수행할 수 있다. 이동식 저장 유닛(518)은 이동식 저장 드라이브(514)에 의해 판독 및 기록될 수 있는 이동식 저장 매체를 포함할 수 있다. 예를 들어, 이동식 저장 드라이브(514)가 플로피 디스크 드라이브 또는 범용 직렬 버스 포트인 경우, 이동식 저장 유닛(518)은 각각 플로피 디스크 또는 포터블 플래시 드라이브일 수 있다. 일 실시예에서, 이동식 저장 유닛(518)은 비일시적 컴퓨터 판독 가능 기록 매체일 수 있다.Removable storage drive 514 may read and/or write to removable storage unit 518 in well-known manners. Removable storage unit 518 may include removable storage media that can be read and written by removable storage drive 514 . For example, if removable storage drive 514 is a floppy disk drive or a universal serial bus port, removable storage unit 518 may be a floppy disk or portable flash drive, respectively. In one embodiment, removable storage unit 518 may be a non-transitory computer-readable recording medium.

일부 실시예에서, 보조 메모리(510)는 컴퓨터 프로그램 또는 다른 명령어가 컴퓨터 시스템(500)에 로딩될 수 있게 하는 대안적인 수단을, 예를 들어 이동식 저장 유닛(522) 및 인터페이스(520)를, 포함할 수 있다. 이러한 수단의 예로는 프로그램 카트리지 및 카트리지 인터페이스(예를 들어, 비디오 게임 시스템에서 볼 수 있음), 탈착식 메모리 칩(예를 들어, EEPROM, PROM 등) 및 관련 소켓, 및 다른 이동식 저장 유닛(522) 및 인터페이스(520)를 포함할 수 있으며, 이는 당업자에게 명백할 것이다.In some embodiments, auxiliary memory 510 includes alternative means by which computer programs or other instructions may be loaded into computer system 500, such as removable storage unit 522 and interface 520. can do. Examples of such means include program cartridges and cartridge interfaces (e.g., found in video game systems), removable memory chips (e.g., EEPROM, PROM, etc.) and associated sockets, and other removable storage units 522 and It may include an interface 520, which will be apparent to those skilled in the art.

컴퓨터 시스템(500)(예를 들어, 주 메모리(508) 및/또는 보조 메모리(510))에 저장된 데이터는 광학 스토리지(예를 들어 컴팩트 디스크, 디지털 다기능 디스크, 블루레이 디스크 등) 또는 자기 테이프 스토리지(예를 들어, 하드 디스크 드라이브)와 같은 모든 유형의 적합한 컴퓨터 판독 가능 매체에 저장될 수 있다. 데이터는 관계형 데이터베이스, 구조화된 질의 언어(SQL) 데이터베이스, 분산 데이터베이스, 객체 데이터베이스 등과 같은 모든 유형의 적합한 데이터베이스 구성으로 구성될 수 있다. 적합한 구성 및 저장 유형은 당업자에게 명백할 것이다.Data stored in computer system 500 (e.g., main memory 508 and/or secondary memory 510) may be stored on optical storage (e.g., compact disk, digital versatile disk, Blu-ray disk, etc.) or magnetic tape storage. It may be stored on any type of suitable computer-readable medium, such as (e.g., a hard disk drive). Data can be organized into any type of suitable database configuration, such as relational databases, structured query language (SQL) databases, distributed databases, object databases, etc. Suitable configurations and storage types will be apparent to those skilled in the art.

컴퓨터 시스템(500)은 또한 통신 인터페이스(524)를 포함할 수 있다. 통신 인터페이스(524)는 소프트웨어 및 데이터가 컴퓨터 시스템(500)과 외부 장치 사이에 전송될 수 있도록 구성될 수 있다. 예시적인 통신 인터페이스(524)는 모뎀, 네트워크 인터페이스(예를 들어, 이더넷 카드), 통신 포트, PCMCIA 슬롯, 및 카드 등을 포함할 수 있다. 통신 인터페이스(524)를 통해 전송되는 소프트웨어 및 데이터는 신호 형태일 수 있으며, 이는 전자, 전자기, 광학 또는 당업자에게 명백한 바와 같은 다른 신호일 수 있다. 신호는 신호를 전달하도록 구성될 수 있으며 전선, 케이블, 광섬유, 전화선, 휴대폰 링크, 무선 주파수 링크 등을 사용하여 구현될 수 있는 통신 경로(526)를 통해 이동할 수 있다.Computer system 500 may also include communication interface 524. Communication interface 524 may be configured to allow software and data to be transferred between computer system 500 and an external device. Exemplary communication interfaces 524 may include modems, network interfaces (e.g., Ethernet cards), communication ports, PCMCIA slots, cards, etc. Software and data transmitted via communication interface 524 may be in the form of signals, which may be electronic, electromagnetic, optical, or other signals as will be apparent to those skilled in the art. The signal may be configured to carry the signal and may travel through a communication path 526, which may be implemented using wires, cables, optical fibers, telephone lines, cell phone links, radio frequency links, etc.

컴퓨터 시스템(500)은 디스플레이 인터페이스(502)를 더 포함할 수 있다. 디스플레이 인터페이스(502)는 데이터가 컴퓨터 시스템(500)과 외부 디스플레이(530) 사이에 전송될 수 있도록 구성될 수 있다. 예시적인 디스플레이 인터페이스(502)는 고화질 멀티미디어 인터페이스(HDMI), 디지털 비주얼 인터페이스(DVI), 비디오 그래픽 어레이(VGA) 등을 포함할 수 있다. 디스플레이(530)는 음극선관(CRT) 디스플레이, 액정 디스플레이(LCD), 발광 다이오드(LED) 디스플레이, 정전식 터치 디스플레이, 박막 트랜지스터(TFT) 디스플레이 등을 비롯하여 컴퓨터 시스템(500)의 디스플레이 인터페이스(502)를 통해 전송된 데이터를 표시하기 위한 임의의 적합한 유형의 디스플레이일 수 있다.Computer system 500 may further include a display interface 502. Display interface 502 may be configured to allow data to be transferred between computer system 500 and external display 530. Exemplary display interfaces 502 may include high-definition multimedia interface (HDMI), digital visual interface (DVI), video graphics array (VGA), and the like. The display 530 may include a cathode ray tube (CRT) display, a liquid crystal display (LCD), a light emitting diode (LED) display, a capacitive touch display, a thin film transistor (TFT) display, etc., as well as a display interface 502 of the computer system 500. It may be any suitable type of display for displaying data transmitted via.

컴퓨터 프로그램 매체 및 컴퓨터 사용 가능 매체는 메모리 반도체(예를 들어, DRAM 등)일 수 있는 주 메모리(508) 및 보조 메모리(510)와 같은 메모리를 지칭할 수 있다. 이들 컴퓨터 프로그램 제품은 컴퓨터 시스템(500)에 소프트웨어를 제공하기 위한 수단일 수 있다. 컴퓨터 프로그램(예를 들어, 컴퓨터 제어 로직)은 주 메모리(508) 및/또는 보조 메모리(510)에 저장될 수 있다. 컴퓨터 프로그램은 통신 인터페이스(524)를 통해 수신될 수도 있다. 이러한 컴퓨터 프로그램은 실행될 때 컴퓨터 시스템(500)이 본원에서 논의된 본 방법을 구현하도록 할 수 있다. 특히, 컴퓨터 프로그램은 실행될 때 프로세서 장치(504)가 본원에서 논의된 바와 같이 도 3a, 도 3b, 및 도 4에 도시된 방법을 구현하도록 할 수 있다. 따라서, 이러한 컴퓨터 프로그램은 컴퓨터 시스템(500)의 제어기를 나타낼 수 있다. 본 개시내용이 소프트웨어를 사용하여 구현되는 경우, 소프트웨어는 컴퓨터 프로그램 제품에 저장될 수 있고 이동식 저장 드라이브(514), 인터페이스(520), 및 하드 디스크 드라이브(512) 또는 통신 인터페이스(524)를 사용하여 컴퓨터 시스템(500)에 로딩될 수 있다.Computer program media and computer-enabled media may refer to memory, such as main memory 508 and secondary memory 510, which may be memory semiconductors (e.g., DRAM, etc.). These computer program products may be a means of providing software to computer system 500. Computer programs (e.g., computer control logic) may be stored in main memory 508 and/or secondary memory 510. Computer programs may also be received via communications interface 524. Such computer programs, when executed, may cause computer system 500 to implement the methods discussed herein. In particular, the computer program, when executed, may cause processor device 504 to implement the methods shown in FIGS. 3A, 3B, and 4 as discussed herein. Accordingly, this computer program may represent a controller of computer system 500. If the disclosure is implemented using software, the software may be stored in a computer program product and may be used using a removable storage drive 514, interface 520, and hard disk drive 512 or communications interface 524. Can be loaded into computer system 500.

프로세서 장치(504)는 컴퓨터 시스템(500)의 기능을 수행하도록 구성된 하나 이상의 모듈 또는 엔진을 포함할 수 있다. 모듈 또는 엔진 각각은 하드웨어를 사용하여 구현될 수 있고, 일부 경우에 예를 들어 주 메모리(508) 또는 보조 메모리(510)에 저장된 프로그램 코드 및/또는 프로그램에 대응하는 소프트웨어를 활용할 수도 있다. 이러한 경우, 프로그램 코드는 컴퓨터 시스템(500)의 하드웨어에 의해 실행되기 전에 프로세서 장치(504)에 의해(예를 들어, 컴파일 모듈 또는 엔진에 의해) 컴파일될 수 있다. 예를 들어, 프로그램 코드는 프로세서 장치(504) 및/또는 컴퓨터 시스템(500)의 임의의 추가적인 하드웨어 구성요소에 의한 실행을 위해 어셈블리 언어 또는 기계어 코드와 같은 하위 레벨 언어로 번역되는 프로그래밍 언어로 작성된 소스 코드일 수 있다. 컴파일 프로세스는 어휘 분석, 전처리, 파싱, 의미 분석, 구문 지향 번역, 코드 생성, 코드 최적화, 및 프로그램 코드를 컴퓨터 시스템(500)을 제어하는 데 적합한 하위 레벨 언어로 번역하는 데 적합할 수 있는 기타 기법의 사용을 포함하여 본원에 개시된 기능을 수행할 수 있다. 이러한 프로세스로 인해 컴퓨터 시스템(500)이 위에서 논의된 기능을 수행하도록 고유하게 프로그래밍된 특별히 구성된 컴퓨터 시스템(500)이 된다는 것은 당업자에게 명백할 것이다.Processor device 504 may include one or more modules or engines configured to perform the functions of computer system 500 . Each module or engine may be implemented using hardware, and in some cases may utilize software corresponding to program code and/or programs stored, for example, in main memory 508 or auxiliary memory 510. In such cases, the program code may be compiled by processor device 504 (e.g., by a compilation module or engine) prior to execution by the hardware of computer system 500. For example, program code may be source code written in a programming language that is translated into a lower-level language, such as assembly language or machine code, for execution by processor device 504 and/or any additional hardware components of computer system 500. It could be code. The compilation process may include lexical analysis, preprocessing, parsing, semantic analysis, syntax-oriented translation, code generation, code optimization, and other techniques that may be suitable for translating program code into a low-level language suitable for controlling computer system 500. The functions disclosed herein can be performed, including the use of . It will be apparent to those skilled in the art that this process results in computer system 500 being a specially configured computer system 500 that is uniquely programmed to perform the functions discussed above.

본 개시내용에 따른 기법은 특히 거래 메시지를 통해 판매 시점에서 제품 진위를 검증하는 시스템 및 방법을 제공한다. 개시된 시스템 및 방법의 다양한 예시적인 실시예를 위에서 설명하였지만, 이들은 단지 예시의 목적으로 제시되고 제한되지 않음을 이해해야 한다. 이는 본 개시내용을 개시된 정확한 형태로 총망라하거나 제한하지 않는다. 수정 및 변형은 위의 교시를 고려하여 가능하거나 또는 폭이나 범위를 벗어나지 않고 본 개시내용의 실시로부터 획득될 수 있다.Techniques according to the present disclosure provide systems and methods for verifying product authenticity at the point of sale, particularly via transactional messages. Although various example embodiments of the disclosed systems and methods have been described above, it should be understood that they are presented for illustrative purposes only and are not limiting. It is not intended to be exhaustive or to limit the disclosure to the precise form disclosed. Modifications and variations are possible in light of the above teachings or may be acquired from practice of the present disclosure without departing from its breadth or scope.

Claims (16)

거래 메시지를 통해 판매 시점에서 제품 진위를 검증하기 위한 방법으로서,
판매 시점 장치가 하나 이상의 제품 식별 값을 수신하는 단계로서, 각 제품 식별 값은 결제 거래에서 구매되는 제품에 대응하는, 단계;
상기 판매 시점 장치가 상기 하나 이상의 제품 식별 값을 저장하는 하나 이상의 데이터 요소를 포함하는 거래 메시지를 생성하는 단계로서, 상기 거래 메시지는 하나 이상의 표준에 따라 형식화되는, 단계;
상기 판매 시점 장치가 상기 거래 메시지를 제1 처리 시스템으로 전송하는 단계;
상기 제1 처리 시스템이 상기 수신된 거래 메시지에 포함된 상기 하나 이상의 데이터 요소로부터 파싱된 상기 하나 이상의 제품 식별 값을 제2 처리 시스템으로 전송하는 단계;
상기 제1 처리 시스템이 상기 제2 처리 시스템으로부터 상기 하나 이상의 제품 식별 값 각각에 대한 검증 결과를 수신하는 단계; 및
상기 제1 처리 시스템이 상기 결제 거래를 처리하는 단계를 포함하고, 처리는 (i) 상기 하나 이상의 제품 식별 값 중 적어도 하나에 대한 상기 검증 결과가 실패한 검증임을 나타내는 경우 상기 결제 거래를 거부하는 상기 판매 시점 장치에 응답 메시지를 전송하는 단계, 또는 (ii) 상기 하나 이상의 제품 식별 값 각각에 대한 상기 검증 결과가 성공적인 검증임을 나타내는 경우 상기 거래 메시지를 결제 네트워크로 전송하는 단계를 포함하는, 거래 메시지를 통해 판매 시점에서 제품 진위를 검증하기 위한 방법.
As a method for verifying product authenticity at the point of sale through transactional messages,
a point-of-sale device receiving one or more product identification values, each product identification value corresponding to a product being purchased in the payment transaction;
generating, by the point of sale device, a transaction message comprising one or more data elements storing the one or more product identification values, the transaction message being formatted according to one or more standards;
the point of sale device transmitting the transaction message to a first processing system;
transmitting, by the first processing system, the one or more product identification values parsed from the one or more data elements included in the received transaction message to a second processing system;
receiving, by the first processing system, a verification result for each of the one or more product identification values from the second processing system; and
comprising the first processing system processing the payment transaction, the processing comprising: (i) rejecting the payment transaction if the verification result for at least one of the one or more product identification values indicates a failed verification; transmitting a response message to a point-in-time device, or (ii) transmitting the transaction message to a payment network if the verification result for each of the one or more product identification values indicates a successful verification, via a transaction message. A method for verifying product authenticity at the point of sale.
제1항에 있어서, 상기 거래 메시지는 결제 레일을 사용하여 상기 제1 처리 시스템으로 전송되는, 방법.The method of claim 1, wherein the transaction message is transmitted to the first processing system using a payment rail. 제1항에 있어서, 상기 제1 처리 시스템은 인수 금융 기관 시스템이고, 상기 제2 처리 시스템은 제3자 프로세서 시스템인, 방법.The method of claim 1, wherein the first processing system is an acquiring financial institution system and the second processing system is a third party processor system. 제1항에 있어서, 상기 하나 이상의 표준은 ISO 8583 및 ISO 20022 중 적어도 하나를 포함하는, 방법.The method of claim 1, wherein the one or more standards include at least one of ISO 8583 and ISO 20022. 제1항에 있어서, 상기 하나 이상의 데이터 요소는 상기 하나 이상의 표준에 따라 개인용 전용인, 방법.The method of claim 1, wherein the one or more data elements are for personal use only according to the one or more standards. 제1항에 있어서, 상기 하나 이상의 제품 식별 값은 애플리케이션 프로그래밍 인터페이스를 사용하여 상기 제2 처리 시스템으로 전송되는, 방법.The method of claim 1, wherein the one or more product identification values are transmitted to the second processing system using an application programming interface. 제1항에 있어서,
상기 판매 시점 장치가 해싱 알고리즘을 상기 제품 식별 값에 적용함으로써 상기 하나 이상의 제품 식별 값 각각에 대한 해시 값을 생성하는 단계를 더 포함하고,
상기 거래 메시지에 포함된 상기 하나 이상의 데이터 요소는 상기 제품 식별 값 대신에 상기 하나 이상의 제품 식별 값 각각에 대한 상기 해시 값을 저장하는, 방법.
According to paragraph 1,
the point-of-sale device generating a hash value for each of the one or more product identification values by applying a hashing algorithm to the product identification values,
The method of claim 1, wherein the one or more data elements included in the transaction message store the hash value for each of the one or more product identification values instead of the product identification value.
제1항에 있어서,
상기 제2 처리 시스템이 상기 제1 처리 시스템으로부터 상기 하나 이상의 제품 식별 값을 수신하는 단계;
상기 제2 처리 시스템이 블록체인을 포함하는 복수의 블록 중 한 블록에 상기 제품 식별 값이 포함된 것에 기초하여 상기 하나 이상의 제품 식별 값 각각에 대한 상기 검증 결과를 결정하는 단계로서, 상기 복수의 블록 중 어느 블록에도 상기 제품 식별 값이 포함되지 않은 경우 실패한 검증이 발생하는, 단계; 및
상기 제2 처리 시스템이 상기 하나 이상의 제품 식별 값 각각에 대한 상기 검증 결과를 상기 제1 처리 시스템으로 전송하는 단계를 더 포함하는, 방법.
According to paragraph 1,
the second processing system receiving the one or more product identification values from the first processing system;
wherein the second processing system determines the verification result for each of the one or more product identification values based on the product identification value being included in one of a plurality of blocks including a blockchain, wherein the plurality of blocks Failed verification occurs when none of the blocks contains the product identification value; and
The method further comprising the second processing system transmitting the verification results for each of the one or more product identification values to the first processing system.
거래 메시지를 통해 판매 시점에서 제품 진위를 검증하기 위한 시스템으로서,
판매 시점 장치;
제1 처리 시스템; 및
제2 처리 시스템을 포함하고,
상기 판매 시점 장치는,
하나 이상의 제품 식별 값을 수신하고 - 각 제품 식별 값은 결제 거래에서 구매되는 제품에 대응함- ;
상기 하나 이상의 제품 식별 값을 저장하는 하나 이상의 데이터 요소를 포함하는 거래 메시지를 생성하고 - 상기 거래 메시지는 하나 이상의 표준에 따라 형식화됨 -;
상기 거래 메시지를 상기 제1 처리 시스템으로 전송하고,
상기 제1 처리 시스템은,
상기 수신된 거래 메시지에 포함된 상기 하나 이상의 데이터 요소로부터 파싱된 상기 하나 이상의 제품 식별 값을 상기 제2 처리 시스템으로 전송하고;
상기 제2 처리 시스템으로부터 상기 하나 이상의 제품 식별 값 각각에 대한 검증 결과를 수신하고;
상기 결제 거래를 처리하고, 처리는 (i) 상기 하나 이상의 제품 식별 값 중 적어도 하나에 대한 상기 검증 결과가 실패한 검증임을 나타내는 경우 상기 결제 거래를 거부하는 상기 판매 시점 장치에 응답 메시지를 전송하는 단계, 또는 (ii) 상기 하나 이상의 제품 식별 값 각각에 대한 상기 검증 결과가 성공적인 검증임을 나타내는 경우 상기 거래 메시지를 결제 네트워크로 전송하는 단계를 포함하는, 거래 메시지를 통해 판매 시점에서 제품 진위를 검증하기 위한 시스템.
A system for verifying product authenticity at the point of sale through transactional messages, comprising:
point-of-sale devices;
first processing system; and
comprising a second processing system,
The point of sale device is,
Receive one or more product identification values, each product identification value corresponding to a product being purchased in the payment transaction;
generate a transaction message comprising one or more data elements storing the one or more product identification values, the transaction message being formatted according to one or more standards;
transmitting the transaction message to the first processing system;
The first processing system is,
transmit the one or more product identification values parsed from the one or more data elements included in the received transaction message to the second processing system;
receive verification results for each of the one or more product identification values from the second processing system;
Processing the payment transaction, the processing comprising: (i) sending a response message to the point-of-sale device rejecting the payment transaction if the verification result for at least one of the one or more product identification values indicates a failed verification; or (ii) transmitting the transaction message to a payment network if the verification result for each of the one or more product identification values indicates a successful verification. .
제9항에 있어서, 상기 거래 메시지는 결제 레일을 사용하여 상기 제1 처리 시스템으로 전송되는, 시스템.10. The system of claim 9, wherein the transaction message is transmitted to the first processing system using a payment rail. 제9항에 있어서, 상기 제1 처리 시스템은 인수 금융 기관 시스템이고, 상기 제2 처리 시스템은 제3자 프로세서 시스템인, 시스템.10. The system of claim 9, wherein the first processing system is an acquiring financial institution system and the second processing system is a third party processor system. 제9항에 있어서, 상기 하나 이상의 표준은 ISO 8583 및 ISO 20022 중 적어도 하나를 포함하는, 시스템.The system of claim 9, wherein the one or more standards include at least one of ISO 8583 and ISO 20022. 제9항에 있어서, 상기 하나 이상의 데이터 요소는 상기 하나 이상의 표준에 따라 개인용 전용인, 시스템.10. The system of claim 9, wherein the one or more data elements are for personal use only in accordance with the one or more standards. 제9항에 있어서, 상기 하나 이상의 제품 식별 값은 애플리케이션 프로그래밍 인터페이스를 사용하여 상기 제2 처리 시스템으로 전송되는, 시스템.10. The system of claim 9, wherein the one or more product identification values are transmitted to the second processing system using an application programming interface. 제9항에 있어서,
상기 판매 시점 장치는 해싱 알고리즘을 상기 제품 식별 값에 적용함으로써 상기 하나 이상의 제품 식별 값 각각에 대한 해시 값을 생성하고,
상기 거래 메시지에 포함된 상기 하나 이상의 데이터 요소는 상기 제품 식별 값 대신에 상기 하나 이상의 제품 식별 값 각각에 대한 상기 해시 값을 저장하는, 시스템.
According to clause 9,
the point-of-sale device generates a hash value for each of the one or more product identification values by applying a hashing algorithm to the product identification values,
The system of claim 1, wherein the one or more data elements included in the transaction message store the hash value for each of the one or more product identification values instead of the product identification value.
제9항에 있어서, 상기 제2 처리 시스템은,
상기 제1 처리 시스템으로부터 상기 하나 이상의 제품 식별 값을 수신하고;
상기 제품 식별 값이 블록체인을 포함하는 복수의 블록 중 한 블록에 포함된 것에 기초하여 상기 하나 이상의 제품 식별 값 각각에 대한 상기 검증 결과를 결정하고, 상기 복수의 블록 중 어느 블록에도 상기 제품 식별 값이 포함되지 않은 경우 실패한 검증이 발생함;
상기 하나 이상의 제품 식별 값 각각에 대한 상기 검증 결과를 상기 제1 처리 시스템으로 전송하는, 시스템.
The method of claim 9, wherein the second processing system:
receive the one or more product identification values from the first processing system;
Determine the verification result for each of the one or more product identification values based on the product identification value being included in one block of a plurality of blocks including a blockchain, and determine the verification result for each of the product identification values in any block of the plurality of blocks. If this is not included, a failed validation will occur;
A system for transmitting the verification results for each of the one or more product identification values to the first processing system.
KR1020237042966A 2021-05-13 2022-04-11 Method and system for privacy-oriented provenance at point of sale KR20240007757A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/319,532 US20220366407A1 (en) 2021-05-13 2021-05-13 Method and system for privacy oriented provenance at the point of sale
US17/319,532 2021-05-13
PCT/US2022/024203 WO2022240529A2 (en) 2021-05-13 2022-04-11 Method and system for privacy oriented provenance at the point of sale

Publications (1)

Publication Number Publication Date
KR20240007757A true KR20240007757A (en) 2024-01-16

Family

ID=83998837

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237042966A KR20240007757A (en) 2021-05-13 2022-04-11 Method and system for privacy-oriented provenance at point of sale

Country Status (6)

Country Link
US (1) US20220366407A1 (en)
EP (1) EP4338114A2 (en)
JP (1) JP2024518526A (en)
KR (1) KR20240007757A (en)
CN (1) CN117157657A (en)
WO (1) WO2022240529A2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021175016A (en) * 2020-04-20 2021-11-01 株式会社日立製作所 Method and system for managing digital signature

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102239660A (en) * 2008-12-08 2011-11-09 贝金姆·维瑟利 System and method to authenticate products
US20130054468A1 (en) * 2011-08-25 2013-02-28 Platamovil International BV System and method for conducting financial transactions
US20160098730A1 (en) * 2014-10-01 2016-04-07 The Filing Cabinet, LLC System and Method for Block-Chain Verification of Goods
US20170132625A1 (en) * 2015-11-05 2017-05-11 Mastercard International Incorporated Method and system for use of a blockchain in a transaction processing network
US10176481B2 (en) * 2015-12-21 2019-01-08 Beston Technologies Pty Ltd Method and apparatus for managing and providing provenance of product using blockchain
US10755285B2 (en) * 2018-02-02 2020-08-25 Hiroshi Watanabe Secured mutual confirmation method and system for tracing and verifying product identity, origin and authentication

Also Published As

Publication number Publication date
CN117157657A (en) 2023-12-01
WO2022240529A2 (en) 2022-11-17
JP2024518526A (en) 2024-05-01
EP4338114A2 (en) 2024-03-20
US20220366407A1 (en) 2022-11-17
WO2022240529A3 (en) 2023-05-04

Similar Documents

Publication Publication Date Title
US11132704B2 (en) Method and system for electronic vouchers via blockchain
US11803857B2 (en) Method and system for implementing chargebacks on a distributed ledger system
EP3857489A1 (en) Method and system for dispute resolution in a public blockchain
WO2020023180A1 (en) Method and system for hybrid payment authorization
US11587071B2 (en) Method and system for merchant acceptance of cryptocurrency via payment rails
US20210056557A1 (en) Method and system for verifying point of sale authenticity through blockchain distributed ledger
US20240020695A1 (en) Method and system for transferring digital tokens to and from a physical card
KR20220164778A (en) Method and system for using EMV cards in multi-signature wallets for cryptocurrency transactions
KR20240007757A (en) Method and system for privacy-oriented provenance at point of sale
US20230196345A1 (en) Method and system of integrating blockchain technology with existing computer architecture
US20210398093A1 (en) Method and system for payment integration with provenance supply chain events
US20210406887A1 (en) Method and system for merchant acceptance of cryptocurrency via payment rails