# US 2020/0401678 A1 · Digital asset traceability and assurance using a distributed ledger

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

- Number: US 2020/0401678 A1
- Document ID: US20200401678A1
- Status: Published application
- Kind: A1
- Application number: 17/012,809
- Filed: 2020-09-04
- Published: 2020-12-24
- Earliest claimed: 2017-08-24
- Assignees: Oracle International Corporation
- Applicants: Oracle International Corporation
- Inventors: Roberto Salomon
- Web page: https://patentgrep.com/patent/US20200401678A1

## CPC

- G06F 21/16: Program or content traceability, e.g. by watermarking
- G06F 8/40: Transformation of program code
- G06F 8/41: Compilation
- G06F 8/71: Version control (security arrangements therefor G06F21/57); Configuration management
- G06F 21/44: Program or device authentication
- G06F 21/57: Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F 21/64: Protecting data integrity, e.g. using checksums, certificates or signatures
- H04L 9/006: {involving public key infrastructure [PKI] trust models (network architecture or network communication protocol for supporting authentication of entities using certificates in a packet data network H04L63/0823)}
- H04L 9/0643: {Hash functions, e.g. MD5, SHA, HMAC or f9 MAC}
- H04L 9/3236: {using cryptographic hash functions}
- H04L 9/3239: {involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD}
- H04L 9/3263: {involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements (network architectures or network communication protocols for supporting authentication of entities using certificates in a packet data network H04L63/0823)}
- H04L 9/3297: {involving time stamps, e.g. generation of time stamps}
- H04L 9/50: {using hash chains, e.g. blockchains or hash trees}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Various embodiments provide an apparatus, method, system, and/or instructions by which source code can be linked to a compiled binary, guaranteeing the origin of the binary and ensuring traceability of the binary file back to the source code that originated it. An example method includes determining a request to register a digital asset; computing a first hash of an initial source file of the digital asset; ascertaining a version of the initial source file; electing one or more nodes of a blockchain to commit the first hash to the blockchain in association with a version of the digital asset corresponding to the version of the initial source file; converting the source file into a binary file, resulting in a binary version of the digital asset; computing a second hash of the binary file; and committing the second hash to the blockchain in association with the version of the digital asset.

## Claims

### Claim 1

One or more non-transitory tangible storage media including logic for execution by one or more processors and when executed, cause the one or more processors to perform operations for facilitating quality control for digital asset tracing in a networked computing environment, the operations comprising:
computing a first hash of an initial source file of a digital asset;
electing one or more nodes of a distributed ledger of a networked computing environment to commit the first hash to an entry in the distributed ledger in association with a version of the digital asset;
converting the initial source file into a binary file;
computing a second hash, wherein the second hash is of the binary file;
committing the second hash to a second entry in the distributed ledger in association with the version of the digital asset;
storing the binary file in a binary code repository;
providing the binary file from the binary code repository to a client device for installation and execution; and
enabling the client device to compare the provided binary file to the second hash to determine that the provided binary file is unaltered.

### Claim 2 (depends on 1)

The one or more non-transitory tangible storage media of claim 1, wherein the client device is for a consumer user that is authenticated and permissioned for access of the binary file.

### Claim 3 (depends on 2)

The one or more non-transitory tangible storage media of claim 2, wherein the operations further comprise:
encrypting the binary file and providing the consumer user with one or more private key to decode the binary file.

### Claim 4 (depends on 1)

The one or more non-transitory tangible storage media of claim 1, wherein the operations further comprise:
comparing, by a cloud server, the binary file from the binary code repository to the second hash to determine that the provided binary file is unaltered; and
in response to determining that the binary file is unaltered, providing the binary file to a production server.

### Claim 5 (depends on 4)

The one or more non-transitory tangible storage media of claim 4, wherein the binary file is provided to the production server for preparation in hosting a software application as a web application.

### Claim 6 (depends on 1)

The one or more non-transitory tangible storage media of claim 1, wherein computing of the second hash is by one or more nodes hosting blockchain replicas that form the distributed ledger.

### Claim 7 (depends on 1)

The one or more non-transitory tangible storage media of claim 1, wherein computing the first hash is implemented by a hash function using as inputs a digital fingerprint of the initial source file, a user identification (ID), a central processing unit (CPU) ID of a computing device that generates the initial source file, and a media access control (MAC) address of the computing device.

### Claim 8

A computer-implemented method for facilitating quality control for digital asset tracing in a networked computing environment, the method comprising:
computing a first hash of an initial source file of a digital asset;
electing one or more nodes of a distributed ledger of a networked computing environment to commit the first hash to an entry in the distributed ledger in association with a version of the digital asset;
converting the initial source file into a binary file;
computing a second hash, wherein the second hash is of the binary file;
committing the second hash to a second entry in the distributed ledger in association with the version of the digital asset;
storing the binary file in a binary code repository;
providing the binary file from the binary code repository to a client device for installation and execution; and
enabling the client device to compare the provided binary file to the second hash to determine that the provided binary file is unaltered.

### Claim 9 (depends on 8)

The method of claim 8, wherein the client device is for a consumer user that is authenticated and permissioned for access of the binary file.

### Claim 10 (depends on 9)

The method of claim 9, further comprising:
encrypting the binary file and providing the consumer user with one or more private key to decode the binary file.

### Claim 11 (depends on 8)

The method of claim 8, further comprising:
comparing, by a cloud server, the binary file from the binary code repository to the second hash to determine that the provided binary file is unaltered; and
in response to determining that the binary file is unaltered, providing the binary file to a production server.

### Claim 12 (depends on 11)

The method of claim 11, wherein the binary file is provided to the production server for preparation in hosting a software application as a web application.

### Claim 13 (depends on 8)

The method claim 8, wherein the computing of the second hash is by one or more nodes hosting blockchain replicas that form the distributed ledger.

### Claim 14 (depends on 8)

The method claim 8, wherein computing the first hash is implemented by a hash function using as inputs a digital fingerprint of the initial source file, a user identification (ID), a central processing unit (CPU) ID of a computing device that generates the initial source file, and a media access control (MAC) address of the computing device.

### Claim 15

A system comprising:
one or more processors; and
logic encoded in one or more non-transitory computer-readable storage media for execution by the one or more processors and when executed, the logic is operable to perform operations comprising:
computing a first hash of an initial source file of a digital asset;
electing one or more nodes of a distributed ledger of a networked computing environment to commit the first hash to an entry in the distributed ledger in association with a version of the digital asset;
converting the initial source file into a binary file;
computing a second hash, wherein the second hash is of the binary file;
committing the second hash to a second entry in the distributed ledger in association with the version of the digital asset;
storing the binary file in a binary code repository;
providing the binary file from the binary code repository to a client device for installation and execution; and
enabling the client device to compare the provided binary file to the second hash to determine that the provided binary file is unaltered.

### Claim 16 (depends on 15)

The system of claim 15, wherein the client device is for a consumer user that is authenticated and permissioned for access of the binary file.

### Claim 17 (depends on 16)

The system of claim 16, wherein the operations further comprise:
encrypting the binary file and providing the consumer user with one or more private key to decode the binary file.

### Claim 18 (depends on 15)

The system of claim 15, wherein the operations further comprise:
comparing, by a cloud server, the binary file from the binary code repository to the second hash to determine that the provided binary file is unaltered; and
in response to determining that the binary file is unaltered, providing the binary file to a production server.

### Claim 19 (depends on 18)

The system of claim 18, wherein the binary file is provided to the production server for preparation in hosting a software application as a web application.

### Claim 20 (depends on 15)

The system of claim 15, wherein the computing of the second hash is by one or more nodes hosting blockchain replicas that form the distributed ledger.
