# US 11,444,777 B2 · Method and system for providing validated, auditable, and immutable inputs to a smart contract

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,444,777 B2
- Document ID: US11444777B2
- Status: Granted
- Kind: B2
- Application number: 16/946,185
- Filed: 2020-06-09
- Published: 2020-09-24
- Granted: 2022-09-13
- Earliest claimed: 2016-12-28
- Assignees: Mastercard International Incorporated
- Applicants: Mastercard International Incorporated
- Inventors: Steven Charles Davis
- Web page: https://patentgrep.com/patent/US11444777B2

## CPC

- H04L 9/3239: {involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD}
- G06F 16/951: Indexing; Web crawling techniques
- G06F 21/64: Protecting data integrity, e.g. using checksums, certificates or signatures
- G06Q 20/065: {using e-cash}
- G06Q 20/36: using electronic wallets or electronic money safes
- G06Q 20/3678: {e-cash details, e.g. blinded, divisible or detecting double spending}
- G06Q 20/38215: {Use of certificates or encrypted proofs of transaction rights}
- G06Q 20/3825: {Use of electronic signatures}
- G06Q 20/3827: {Use of message hashing}
- G06Q 20/388: {using mutual authentication without cards, e.g. challenge-response}
- H04L 9/3247: {involving digital signatures}
- G06F 21/645: {using a third party}
- G06Q 2220/00: Business processing using cryptography
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR

## Abstract

A method for posting of auditable, immutable data to a blockchain includes: receiving a blockchain including a plurality of blocks, each block including at least a block header and one or more transaction values, wherein each transaction value includes at least a transaction hash; receiving a data file associated with a specific transaction hash included in a block in the blockchain, wherein the data file includes one or more variables; modifying at least one of the one or more variables included in the data file; generating a new hash value via application of one or more hashing algorithms to the modified data file; generating a new transaction value based on at least the generated new hash value and the specific transaction hash; digitally signing the generated new transaction value; and electronically transmitting the signed new transaction value.

## Claims

### Claim 1

A method for posting of auditable, immutable data to a blockchain, comprising:
receiving, by a receiving device of a processing server, a blockchain comprised of a plurality of blocks, wherein each block is comprised of one or more transaction values, wherein each transaction value includes at least a transaction hash;
receiving, by the receiving device of the processing server, one or more deterministic transaction inputs associated with a specific transaction hash included in a block in the blockchain, where each of the one or more deterministic transaction inputs is associated with one or more predetermined conditions for deterministically satisfying the corresponding deterministic transaction input;
modifying, by a processor device of the processing server, in response to satisfying one of the one or more predetermined conditions of at least one of the one or more deterministic transaction inputs, the corresponding at least one of the one or more deterministic transaction inputs, wherein said modification of said one or more deterministic transaction inputs includes at least one of changing a flag and supplementing of a reference a confirmation number;
generating, by the processor device of the processing server, a new hash value via application of one or more hashing algorithms to the modified at least one of the one or more deterministic transaction inputs;
generating, by the processor device of the processing server, a new transaction value based on at least the generated new hash value and a reference identifier associated with an executable script associated with the blockchain, wherein the new transaction value is based on the modified at least one of the one or more deterministic transaction inputs, wherein execution of the executable script outputs a deterministic response for verifying whether the one of the one or more predetermined conditions of the at least one of the one or more deterministic transaction inputs is satisfied;
digitally signing, by the processor device of the processing server, the generated new transaction value; and
electronically transmitting, by a transmitting device of the processing server, the signed new transaction value.

### Claim 2 (depends on 1)

The method of claim 1, wherein the reference identifier is a hash of the executable script.

### Claim 3 (depends on 1)

The method of claim 1, wherein the executable script is a smart contract.

### Claim 4 (depends on 1)

The method of claim 1, wherein the execution of the executable script verifies that the one of the one or more predetermined conditions is unsatisfied.

### Claim 5 (depends on 4)

The method of claim 4, wherein responsive to the unsatisfaction of the one of the one or more predetermined conditions, the execution of the executable script generates an indication of the unsatisfaction of the one or more predetermined conditions.

### Claim 6 (depends on 5)

The method of claim 5, wherein the indication of the unsatisfaction of the one or more predetermined conditions comprises an indication of non-payment or a payment refund.

### Claim 7

A method for auditing and verification of deterministic data posted to a blockchain, comprising:
receiving, by a receiving device of a processing server, a blockchain comprised of a plurality of blocks, wherein each block is comprised of one or more transaction values, wherein each transaction value includes at least a transaction hash;
executing, by a processor device of the processing server, a first query on the blockchain to identify a first transaction value, wherein the first transaction value is associated with an executable script;
executing, by the processor device of the processing server, the executable script using a plurality of predetermined input conditions for deterministically satisfying one or more deterministic transaction inputs associated with (i) a specific transaction hash included in a block in the blockchain and (ii) the first transaction value to receive at least one deterministic response;
generating, by the processor device of the processing server, a hash value based on at least the plurality of predetermined input conditions and the at least one deterministic response;
generating, by the processor device of the processing server, a new transaction value based on at least the generated hash value and the transaction hash included in the first transaction value; and
verifying, by the processor device of the processing server, whether a second transaction value included in a block in the blockchain matches the generated new transaction value, wherein the second transaction value is based on at least a modified one of the one or more deterministic transaction inputs that is modified based on whether one or more associated predetermined input conditions is satisfied, wherein modification of said one or more deterministic transaction inputs includes at least one of changing a flag and supplementing of a reference or confirmation number.

### Claim 8 (depends on 7)

The method of claim 7, wherein verifying whether the second transaction value matches the generated new transaction value comprises:
executing, by the processor device of the processing server, a second query on the blockchain to identify the second transaction value; and
verifying, by the processor device of the processing server, that the second transaction value is equivalent to the generated new transaction value.

### Claim 9 (depends on 7)

The method of claim 7, wherein verifying whether the second transaction value matches the generated new transaction value comprises:
executing, by the processor device of the processing server, a second query on the blockchain to identify the second transaction value; and
verifying, by the processor device of the processing server, that the second transaction value is different from the generated new transaction value.

### Claim 10 (depends on 7)

The method of claim 7, wherein the executable script is a smart contract.

### Claim 11

A system for posting of auditable, immutable data to a blockchain, comprising:
a receiving device of a processing server configured to receive:
a blockchain comprised of a plurality of blocks, wherein each block is comprised of one or more transaction values, wherein each transaction value includes at least a transaction hash, and
one or more deterministic transaction inputs associated with a specific transaction hash included in a block in the blockchain, where each of the one or more deterministic transaction inputs is associated with one or more predetermined conditions for deterministically satisfying the corresponding deterministic transaction input;
a processor device of the processing server configured to
modify, based on whether one of the one or more predetermined conditions of at least one of the one or more deterministic transaction inputs is satisfied, the corresponding at least one of the one or more deterministic transaction inputs, wherein said modifying said one or more deterministic transaction inputs includes at least one of changing a flag and supplementing of a reference or confirmation number;
generate a new hash value via application of one or more hashing algorithms to the modified at least one of the one or more deterministic transaction inputs;
generate a new transaction value based on at least the generated new hash value and a reference identifier associated with an executable script associated with the blockchain, wherein the new transaction value is based on the modified at least one of the one or more deterministic transaction inputs, wherein execution of the executable outputs a deterministic response for verifying whether the one of the one or more predetermined conditions of the at least one of the one or more deterministic transaction inputs is satisfied;
digitally sign the generated new transaction value; and
a transmitting device of the processing server configured to electronically transmit the signed new transaction value.

### Claim 12 (depends on 11)

The system of claim 11, wherein the reference identifier is a hash of the executable script.

### Claim 13 (depends on 11)

The system of claim 11, wherein the executable script is a smart contract.

### Claim 14 (depends on 11)

The system of claim 11, wherein the execution of the executable script verifies that the one of the one or more predetermined conditions is unsatisfied.

### Claim 15 (depends on 14)

The system of claim 14, wherein responsive to the unsatisfaction of the one of the one or more predetermined conditions, the execution of the executable script is configured to generate an indication of the unsatisfaction of the one or more predetermined conditions.

### Claim 16 (depends on 15)

The system of claim 15, wherein the indication of the unsatisfaction of the one or more predetermined conditions comprises an indication of non-payment or a payment refund.

### Claim 17

A system for auditing and verification of deterministic data posted to a blockchain, comprising:
a receiving device of a processing server configured to receive a blockchain comprised of a plurality of blocks, wherein each block is comprised of one or more transaction values, wherein each transaction value includes at least a transaction hash;
a processor device of the processing server configured to
execute a first query on the blockchain to identify a first transaction value, wherein the first transaction value is associated with an executable script;
execute the executable script using a plurality of predetermined input conditions for deterministically satisfying one or more deterministic transaction inputs associated with (i) a specific transaction hash included in a block in the blockchain and (ii) the first transaction value to receive at least one deterministic response;
generate a hash value based on at least the plurality of predetermined input conditions and the at least one deterministic response;
generate a new transaction value based on at least the generated hash value and the transaction hash included in the first transaction value; and
verify whether a second transaction value included in a block in the blockchain matches the generated new transaction value, wherein the second transaction value is based on at least a modified one of the one or more deterministic transaction inputs that is modified based on whether one or more associated predetermined input conditions is satisfied, wherein modification of said one or more deterministic transaction inputs includes at least one of changing a flag and supplementing of a reference or confirmation number.

### Claim 18 (depends on 17)

The system of claim 17, wherein in verifying whether the second transaction value matches the generated new transaction value, the processor device (i) executes a second query on the blockchain to identify the second transaction value; and (ii) verifies that the second transaction value is equivalent to the generated new transaction value.

### Claim 19 (depends on 17)

The system of claim 17, wherein in verifying whether the second transaction value matches the generated new transaction value, the processor device (i) executes a second query on the blockchain to identify the second transaction value; and (ii) verifies that the second transaction value is different from the generated new transaction value.

### Claim 20 (depends on 17)

The system of claim 17, wherein the executable script is a smart contract.
