Validating authenticity of electronic documents shared via computer networks

Information

  • Patent Grant
  • 12341906
  • Patent Number
    12,341,906
  • Date Filed
    Thursday, December 14, 2023
    a year ago
  • Date Issued
    Tuesday, June 24, 2025
    8 days ago
Abstract
Authentication of electronic document is based on multiple digital signatures incorporated into a blockchain. Structured data, metadata, and instructions may be hashed to generate the multiple digital signatures for distribution via the blockchain. Any peer receiving the blockchain may then verify an authenticity of an electronic document based on any one or more of the multiple digital signatures incorporated into the blockchain.
Description
BACKGROUND

Authenticity is important in today's online environment. Electronic documents are easily distributed, especially via private and public networks (such as the Internet). Electronic documents are thus easily altered for fraudulent activities.





BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

The features, aspects, and advantages of the exemplary embodiments are understood when the following Detailed Description is read with reference to the accompanying drawings, wherein:



FIGS. 1-3 are simplified illustrations of validating an electronic document, according to exemplary embodiments;



FIGS. 4-7 are detailed illustrations of an operating environment, according to exemplary embodiments;



FIGS. 8-12 further illustrate verification, according to exemplary embodiments;



FIG. 13 illustrates multiple digital signatures, according to exemplary embodiments;



FIG. 14 illustrates a blockchain, according to exemplary embodiments;



FIG. 15 illustrates multiple verifications, according to exemplary embodiments;



FIGS. 16-17 are flowcharts illustrating a method of authentication, according to exemplary embodiments;



FIG. 18 illustrates a fraud alert, according to exemplary embodiments; and



FIGS. 19-20 depict still more operating environments for additional aspects of the exemplary embodiments.





DETAILED DESCRIPTION

The exemplary embodiments will now be described more fully hereinafter with reference to the accompanying drawings. The exemplary embodiments may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. These embodiments are provided so that this disclosure will be thorough and complete and will fully convey the exemplary embodiments to those of ordinary skill in the art. Moreover, all statements herein reciting embodiments, as well as specific examples thereof, are intended to encompass both structural and functional equivalents thereof. Additionally, it is intended that such equivalents include both currently known equivalents as well as equivalents developed in the future (i.e., any elements developed that perform the same function, regardless of structure).


Thus, for example, it will be appreciated by those of ordinary skill in the art that the diagrams, schematics, illustrations, and the like represent conceptual views or processes illustrating the exemplary embodiments. The functions of the various elements shown in the figures may be provided through the use of dedicated hardware as well as hardware capable of executing associated software. Those of ordinary skill in the art further understand that the exemplary hardware, software, processes, methods, and/or operating systems described herein are for illustrative purposes and, thus, are not intended to be limited to any particular named manufacturer.


As used herein, the singular forms “a,” “an,” and “the” are intended to include the plural forms as well, unless expressly stated otherwise. It will be further understood that the terms “includes,” “comprises,” “including,” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. It will be understood that when an element is referred to as being “connected” or “coupled” to another element, it can be directly connected or coupled to the other element or intervening elements may be present. Furthermore, “connected” or “coupled” as used herein may include wirelessly connected or coupled. As used herein, the term “and/or” includes any and all combinations of one or more of the associated listed items.


It will also be understood that, although the terms first, second, etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first device could be termed a second device, and, similarly, a second device could be termed a first device without departing from the teachings of the disclosure.



FIGS. 1-3 are simplified illustrations of validating an electronic document 20, according to exemplary embodiments. Here exemplary embodiments verify whether the electronic document 20 has been altered since creation. As the reader may understand, an authenticity 22 of the electronic document 20 may be very important in banking, security, identification, and other activities conducted via the Internet. If the electronic document 20 has changed since its original creation, then banking and other online activities may be compromised. Indeed, an altered version 24 of the electronic document 20 may indicate malicious or fraudulent activity is being attempted. Exemplary embodiments may thus include a security scheme based on electronic data 26 representing the electronic document 20.



FIG. 1 illustrates a verification server 28. The verification server 28 determines whether the electronic document 20 has been changed since creation 30. The verification server 28 obtains the electronic data 26 representing an original version 32 of the electronic document 20. This disclosure mostly explains the original version 32 as of a date 34 of creation. The original version 32, though, may be demarcated with reference to any time, date, or version. Regardless, the verification server 28 may generate one or more hash values 36 associated with a hash tree 38 based on the electronic data 26 representing the original version 32 of the electronic document 20. The hash tree 38 may be generated using an electronic representation of a hashing algorithm 40. The verification server 28 may then distribute one or more of the hash values 36 via a blockchain 50. That is, any of the hash values 36 (e.g., hash list, hash chain, branches, nodal leaves) may be added to, stored in, or incorporated in, any record, transaction, or block and distributed via the blockchain 50. While the blockchain 50 may be sent or routed to any destination (such as an Internet Protocol address associated with another server), FIG. 1 illustrates peer distribution. That is, the verification server 28 may broadcast the blockchain 50 to the IP addresses associated with a network 52 of peer devices or nodes for verification. Exemplary embodiments may thus utilize the blockchain 50 as a distribution or publication mechanism. As the reader may understand, the blockchain 50 is generally a digital ledger in which transactions are chronologically and/or publically recorded. The blockchain 50 is most commonly used in decentralized cryptocurrencies (such as Bitcoin). The blockchain 50, however, may be adapted to any chain or custody (such as in medical records and in chains of title in real estate transactions). Indeed, there are many different mechanisms and configurations of the blockchain 50, and exemplary embodiments may be adapted to any version. Because peer-to-peer blockchain technology is generally known, this disclosure need not provide a detailed explanation.



FIG. 2 illustrates a verification scheme, Here the verification server 28 determines whether a current version 60 of the electronic document 20 has changed since the date 34 of creation, That is, the verification server 28 determines whether the current version 60 differs from the original version 32. The verification server 28 retrieves electronic data 61 representing the current version 60 of the electronic document 20. The verification server 28 may then generate one or more verification hash values 62 based on the electronic data 61 representing the current version 60. The verification hash values 62 are generated using the electronic representation of the hashing algorithm 40. The verification server 28 may then compare the verification hash values 62 to the hash values 36 representing the original version 32 (as of the date 34 of creation). If the verification hash values 62 satisfactorily compare to the hash values 36, then the verification server 28 may infer or determine that the current version 60 is the same as the original version 32. If, however, the verification hash values 62 fail to satisfy the hash values 36, then the verification server 28 may infer that the current version 60 differs from the original version 32. The current version 60 of the electronic document 20, in other words, has been altered since the date 34 of creation. The verification server 28 may thus generate a fraud alert 64 to implement enhanced security measures.


Exemplary embodiments may detect minor changes. The hashing algorithm 40 is very sensitive to even subtle alterations in the electronic document 20, There are many hashing algorithms, and exemplary embodiments may utilize any of the hashing algorithms. For simplicity, though, this disclosure will mostly discuss the SHA family of cryptographic hashing algorithms, which many readers are thought familiar. For example, if the SHA-256 algorithm is applied to the electronic data 26 representing the original version 32, the result is a 256-bit digital signature. There is thus an extremely low probability that different source data would produce the same digital signature, So, if the current version 60 of the electronic document 20 has even a subtle change (such as a single character in a single textual word or number), its corresponding digital signature (e.g., the verification hash values 62) will not match or equal the hash values 36 representing the original version 32. Exemplary embodiments thus quickly determine whether the electronic document 20 has been changed since the date 34 of creation.



FIG. 3 illustrates nodal verification. Here exemplary embodiments may distribute one or more of the hash values 36 via the blockchain 50. Once the verification server 28 generates the hash values 36 (based on the electronic data 26 representing the original version 32 of the electronic document 20), the verification server 28 may distribute the hash values 36 via the blockchain 50. For example, the verification server 28 may incorporate the 256-bit digital signature 70 (generated by the SHA-256 algorithm) into the blockchain 50. Any trusted member of the network 52 of peer devices may then verify the current version 60 of the electronic document 20. A trusted peer device 72, for example, may receive the blockchain 50 and retrieve or determine the digital signature 70 incorporated therein. The trusted peer device 72 may then itself retrieve the electronic data 71 representing the current version 60 and generate the verification hash values 62 (such as a 256-bit verification digital signature 74). The trusted peer device 72 may then compare the hash values 36 (received via the blockchain 50) to the verification hash values 62 generated based on the current version 60 of the electronic document 20. As a simple example, the trusted peer device 72 may compare the 256-bit digital signature 70 (based on the original version 32) to the 256-bit verification digital signature 74 (based on the current version 60). If the verification hash values 36 (such as a 256-bit verification digital signature 74) satisfactorily compare to the hash values 36 (such as the 256-bit digital signature 70) received via the blockchain 50, then the trusted peer device 72 may infer or determine that the current version 60 is authentic and unaltered. However, if the verification hash values 36 (e.g., the 256-bit verification digital signature 74) fails to satisfy the hash values 36 (e.g., the 256-bit digital signature 70, then the trusted peer device 72 may infer that the current version 60 is inauthentic and altered. The trusted peer device 72 may thus generate the fraud alert 64 to implement enhanced security measures.



FIGS. 4-7 are detailed illustrations of an operating environment, according to exemplary embodiments. FIG. 4 illustrates the verification server 28 communicating with the trusted peer device 72 via a communications network 80 and/or via a wireless network 82. FIG. 4 illustrates the trusted peer device 72 as a mobile smartphone 84, which most readers are thought familiar. The trusted peer device 72, though, may be any processor-controlled device, as later paragraphs will explain. The verification server 28 may have a processor 86 (e.g., “μP”), application specific integrated circuit (ASIC), or other component that executes a verification algorithm 86 stored in a local memory device 88. The verification algorithm 86 includes instructions, code, and/or programs that cause the verification server 28 to perform operations, such as generating the hash values 36 associated with the electronic document 20 (as the above paragraphs explained). The verification algorithm 86 may thus generate the digital signature 70 representing the original version 32 (using the hashing algorithm 40). The verification algorithm 86 may then instruct or cause the verification server 28 to integrate the digital signature 70 into the blockchain 50 for distribution to the mobile smartphone 84. Exemplary embodiments, though, may send the digital signature 70 and/or the blockchain 50 to any IP address associated with any network destination or device.



FIG. 5 illustrates peer verification. Now that the blockchain 50 is distributed, the trusted peer device 72 (again illustrated as the mobile smartphone 84) may determine the authenticity 22 of the current version 60 of the electronic document 20. FIG. 5 thus illustrates the mobile smartphone 84 receiving the blockchain 50 and the digital signature 70 integrated therein. The mobile smartphone 84 has a processor 90, application specific integrated circuit (ASIC), or other component that executes a peer-side verification algorithm 92 stored in a local memory device 94. The peer-side verification algorithm 92 includes instructions, code, and/or programs that cause the processor 90 to perform operations, such as verifying the current version 60 of the electronic document 20. The peer-side verification algorithm 92 causes the mobile smartphone 84 to retrieve the electronic data 71 representing the current version 60 and to generate the verification digital signature 74 (such as the corresponding 256-bit hash), If the verification digital signature 74 satisfactorily compare to the digital signature 70 received via the blockchain 50, then the peer-side verification algorithm 92 may infer or determine that the current version 60 is authentic and unaltered. However, if the verification digital signature 74 fails to satisfy the digital signature 70 received via the blockchain 50, then the peer-side verification algorithm 92 may infer that the current version 60 is inauthentic and altered. The peer-side verification algorithm 92 may thus generate the fraud alert 64 to implement enhanced security measures.



FIG. 6 illustrates servile verification. Here the verification server 28 may itself determine the authenticity 22 of different versions of the electronic document 20. Whenever the verification server 28 receives the current version 60 of the electronic document 20, the verification server 28 may alert or notify of security concerns. Here the verification algorithm 86 causes the verification server 28 to retrieve the current version 60 and to generate the corresponding verification digital signature 74. If the verification digital signature 74 satisfactorily compares to the digital signature 70 (representing the original version 32), then the verification algorithm 86 may infer or determine that the current version 60 is authentic and unaltered. However, if the verification digital signature 74 fails to satisfy the digital signature 70 (representing the original version 32), then the verification algorithm 86 may implement the fraud alert 64, as the current version 60 is inauthentic and/or altered.



FIG. 7 illustrates the general verification scheme. Again, because many readers may be familiar with the SHA-256 hashing algorithm, the general verification scheme may use the 256-bit hash value computed by the SHA-256 algorithm, Exemplary embodiments obtain or retrieve the electronic data 26 representing the original version 32 of the electronic document 20. The electronic data 26 is acted on by the SHA-256 hashing algorithm to generate a 256-bit hash value as the digital signature 70. Exemplary embodiments may also obtain or retrieve the electronic data 71 representing the current version 60 of the electronic document 20. The electronic data 71 is acted on by the SI-IA-256 hashing algorithm to generate a corresponding 256-bit hash value as the verification digital signature 74. If a match is determined, exemplary embodiments may infer that the current version 60 is authentic and unaltered. However, if the digital signatures 70 and 74 fail to match, exemplary embodiments may infer that the current version 60 is inauthentic and generate the fraud alert 64.


Exemplary embodiments may be applied regardless of networking environment. Exemplary embodiments may be easily adapted to stationary or mobile devices having cellular, wireless fidelity (WI-FI®), near field, and/or BLUETOOTH® capability. Exemplary embodiments may be applied to mobile devices utilizing any portion of the electromagnetic spectrum and any signaling standard (such as the IEEE 802 family of standards, GSM/CDMA/TDMA or any cellular standard, and/or the ISM band). Exemplary embodiments, however, may be applied to any processor-controlled device operating in the radio-frequency domain and/or the Internet Protocol (IP) domain. Exemplary embodiments may be applied to any processor-controlled device utilizing a distributed computing network, such as the Internet (sometimes alternatively known as the “World Wide Web”), an intranet, a local-area network (LAN), and/or a wide-area network (WAN). Exemplary embodiments may be applied to any processor-controlled device utilizing power line technologies, in which signals are communicated via electrical wiring. Indeed, exemplary embodiments may be applied regardless of physical componentry, physical configuration, or communications standard(s).


Exemplary embodiments may utilize any processing component, configuration, or system. Any processor could be multiple processors, which could include distributed processors or parallel processors in a single machine or multiple machines. The processor can be used in supporting a virtual processing environment. The processor could include a state machine, application specific integrated circuit (ASIC), programmable gate array (PGA) including a Field PGA, or state machine. When any of the processors execute instructions to perform “operations”, this could include the processor performing the operations directly and/or facilitating, directing, or cooperating with another device or component to perform the operations.


Exemplary embodiments may packetize. The verification server 28 and the trusted peer device 72 may have network interfaces to the communications network 80, thus allowing collection and retrieval of information. The information may be received as packets of data according to a packet protocol (such as the Internet Protocol). The packets of data contain bits or bytes of data describing the contents, or payload, of a message. A header of each packet of data may contain routing information identifying an origination address and/or a destination address associated with any of the verification server 28 and the trusted peer device 72.



FIGS. 8-12 further illustrate verification, according to exemplary embodiments. Here exemplary embodiments authenticate the electronic document 20, based on its electronic data 26. While exemplary embodiments are applicable to any type of the electronic document 20, most readers are thought familiar with a driver's license 100. That is, the electronic document 20 may have content representing an electronic version of the driver's license 100. While the electronic document 20 may be formatted according to any format 102, most readers are thought familiar with a portable document format (“PDF”) 104, the MICROSOFT® WORD® extensible markup language extension (“docx”) 106, and/or the extensible markup language (“XML”) 108, Exemplary embodiments may thus retrieve the electronic data 26 representing the driver's license 100 and generate the corresponding digital signature 70 (such as the corresponding 256-bit hash if using the SHA-256 hashing algorithm 40). Exemplary embodiments may then incorporate the digital signature 70 into the blockchain 50 for distribution via the communications network 80. Any destination (such as the trusted peer device 72) may thus verify an alleged copy of the driver's license 100 against the blockchain 50 (as this disclosure above explains).


Exemplary embodiments may be applied to any file formatting and/or specification. The format 102 may be proprietary, free, unpublished, and/or open. The format 102 may be designed for images, containers, audio, video, text, subtitles, control characters, and encoding schemes. The format 102 may be HTML, vector graphics, source code, text files, syntax, and software programming.



FIG. 9 illustrates structured data 110. As the reader may understand, the electronic data 26 representing the electronic document 20 may be the structured data 110. That is, the structured data 110 may be organized (such as an entry 112 or database field 114 in a relational spreadsheet 116 or database 118), contained within a fixed data field 120 or data record 122, and/or be addressable via a network or memory address 124. Again referencing the electronic version of the driver's license 100, the structured data 110 may be organized according to the JavaScript Object Notation (or “JSON”). As the JavaScript. Object. Notation is a known format for structuring data, the JSON format need not be explained in detail. Suffice it to say that at least some of the electronic data 26 representing the driver's license 100 may be a JSON document 126 having the structured data 110 arranged as fields [{“Name”: “Bob Smith”}, {“State”: “TX”}, {“Birth”: “May 1, 1975”} . . . ]. The driver's license 100 may thus be formatted according to a JSON schema 128 and stored in an electronic database 130 (perhaps having other structured data 110, such as electronic database associations according to [{“Title”: “Drivers License”, “properties”: {“Name”: {“type”: “string”} . . . ].


Exemplary embodiment may thus incorporate a data version 132 in the blockchain 50. For example, if the driver's license 100 is the JSON document 126, then the data version 132 may be the structured data 110 arranged or formatted according to the JSON schema 128. Exemplary, embodiments may thus retrieve the data version 132 and generate the corresponding digital signature 70 (such as the 256-bit hash value using the SHA-256 hashing algorithm 40). Exemplary embodiments may then incorporate the digital signature 70 into the blockchain 50 for distribution (such as to the trusted peer device 72). The trusted peer device 72 may thus verify an alleged copy of the driver's license 100 against the blockchain 50 (as this disclosure above explains). Moreover, once the structured data 110 is known (such as JSON schema 128), any electronic document referenced in the electronic database 130 may be recreated, hashed, and checked against the blockchain 50 to ensure the electronic data 26 has not been altered. For example, if the electronic data 26 representing the driver's license 100 is stored in a human resources database, then exemplary embodiments permit recreating the driver's license 100 (perhaps via a POSGRES® database and authentication.



FIGS. 10-11 illustrate metadata 140. Here the electronic data 26 representing the electronic document 20 (such as the driver's license 100) may include the metadata 140 (such as [{“CreationTime”: “2012-05-07T11:12:32”}, {“SourceID”: “1131122”}, {“Location”: “Wells Fargo System XXX, ID YYY”} . . . ]. Exemplary embodiments may thus retrieve the metadata 140 and generate the corresponding digital signature 70 (such as the 256-bit hash value representing the metadata 140). Exemplary embodiments may then incorporate the digital signature 70 representing the metadata 140 into the blockchain 50 for distribution to the trusted peer device 72. The trusted peer device 72 may thus perform a two-fold verification. That is, any alteration to the driver's license 100 may be determined (as this disclosure explains), but exemplary embodiments may also verify that the date 34 of creation (e.g., [{“CreationTime”: “2012-05-07T11:12:32”}] has not changed. Again, if the digital signature 70 representing the metadata 140 has changed over time (such as when comparing the original version 32 to the current version 60), then exemplary embodiments may flag or notify of a possible fraud attempt. Any change in the digital signature 70 over time may also be useful for audit trails in banking, mortgage processing, and other activities.



FIG. 11 illustrates different types of the metadata 140. While exemplary embodiments may hash any type of the metadata 140, this disclosure will mainly describe the metadata 140 thought familiar to most readers. For example, the metadata 140 may describe the date 112 of creation, a title, an author, a location (such as GPS information at creation), word/character count, and an abstract describing or summarizing the electronic document 20. The metadata 140 may also include one or more keywords associated with the electronic document 20. The metadata 140 may also include a file hierarchy where the electronic document 20 is stored and/or a network address for retrieval. The network address, for example, may be associated with a server or other machine locally or remotely storing the electronic document 20. The metadata 140 may also include structural details, such as file size, page numbering, chapter organization, and image data. Other metadata 140 may describe approved users (such as administrator and user permissions or identities) and digital rights management (or “DRM”). The metadata 140 may be formatted according to any standard.



FIG. 12 illustrates instructions 150. Here the electronic data 26 representing the driver's license 100 may include the instructions 150. While exemplary embodiments may be applicable to any instructions, the instructions 150 may be structured (such as executable code), unstructured instructions (such as non-executable commentary lines in code, such as English language “do thing 1, then thing 2, then thing 3”). Other instructions 150 may include any messages (such as “When this document is accessed, POST to the URI, http://some.target.url”). Exemplary embodiments may thus retrieve the instructions 150, generate the corresponding digital signature 70 (such as the 256-bit hash value representing the instructions 150), and incorporate into the blockchain 50. Again, if the digital signature 70 representing the instructions 150 has changed over time, then exemplary embodiments may flag or notify of a possible fraud attempt.



FIG. 13 illustrates multiple digital signatures 160, according to exemplary embodiments. Because the electronic document 20 may comprise or contain multiple types of the electronic data 26, exemplary embodiments may generate the multiple digital signatures 160. Exemplary embodiments, for example, may generate a first digital signature 70a (such as the 256-bit hash value using the SHA-256 hashing algorithm 40) based on the data version 132 associated with the electronic document 20 (as above explained with reference to FIGS. 8-9), Exemplary embodiments may generate a second digital signature 70b based on the metadata 140 contained within, or associated with, the electronic document 20 (as above explained with reference to FIGS. 10-11). Exemplary embodiments may generate a third digital signature 70c based on the instructions 150 contained within, or associated with, the electronic document 20 (as above explained with reference to FIG. 12). Any or all of the multiple digital signatures 160 may be generated based on the electronic data 26 representing the electronic document 20.



FIG. 14 further illustrates the blockchain 50, according to exemplary embodiments. Once any of the multiple digital signatures 160 is/are generated, exemplary embodiments may, incorporate one or more of the multiple digital signatures 160 into the blockchain 50. That is, any one or more of the multiple digital signatures 160 may be added to, stored in, or incorporated into any record, transaction, or block within the blockchain 50. FIG. 14, for simplicity, illustrates the blockchain 50 including the first digital signature 70a (based on the data version 132), the second digital signature 70b (based on the metadata 140), and the third digital signature 70c (based on the instructions 150). The verification server 28 may then distribute or broadcast the blockchain 50 to the trusted peer device 72 for subsequent verification.



FIG. 15 illustrates multiple verifications, according to exemplary embodiments. Once any of the multiple digital signatures 160 (e.g., 70a, 70b, and/or 70c) are received (perhaps via the blockchain 50), the trusted peer device 72 may then use any one or more of the multiple digital signatures 160 to verify the authenticity 22 of the current version 60 of the electronic document 20. The peer-side verification algorithm 92, for example, may cause the trusted peer device 72 to generate a first verification digital signature (“1st VDS”) 74a by hashing the data version 132 associated with the current version 60. The peer-side verification algorithm 92 additionally or alternatively cause the trusted peer device 72 to generate a second verification digital signature (“2nd VDS”) 74b by hashing the metadata 140 associated with the current version 60. The peer-side verification algorithm 92 additionally or alternatively cause the trusted peer device 72 to generate a third verification digital signature (“3rd VDS”) 74b by hashing the metadata 140 associated with the current version 60. If any one or more of the verification digital signatures 74a, 74b, and/or 74c satisfactorily compares to their corresponding digital signatures 70a, 70b, and/or 70c, then the peer-side verification algorithm 92 may infer or determine that the current version 60 is authentic and unaltered. However, if any one or more of the verification digital signatures 74a, 74b, and/or 74c fails to satisfy their corresponding digital signatures 70a, 70b, and/or 70c, then the peer-side verification algorithm 92 may infer that the current version 60 is inauthentic and altered. The peer-side verification algorithm 92 may thus generate the fraud alert 64 to implement enhanced security measures.



FIGS. 16-17 are flowcharts illustrating a method of authentication, according to exemplary embodiments. The electronic data 26 representing the original version 32 of the electronic document 20 is retrieved (Block 200) and hashed using the hashing algorithm 40 (Block 202). One or more of the multiple digital signatures 160 are generated (Block 204) and incorporated into the blockchain 50 (Block 206). The blockchain 50 is distributed via the Internet (Block 208). When the blockchain 50 is received (by any recipient, such as the trusted peer device 72) (Block 210), any of the multiple digital signatures 160 may be used verify the current version 60 of the electronic document 20 (Block 212). The multiple verification digital signatures 74a, 74b, and/or 74c are generated based on the current version 60 of the electronic document 20 (Block 214).


The flowchart continues with FIG. 17. The multiple verification digital signatures 74a, 74b, and/or 74c are compared to the multiple digital signatures 160 incorporated into the blockchain 50 (Block 218). The number of matches is summed (Block 220) and compared to a verification threshold (Block 222). If the number of matches equals or exceeds the verification threshold (Block 224), then the current version 60 is authentic (Block 226), However, if the number of matches is less than the verification threshold (Block 224), then the current version 60 is altered (Block 228) and fraud alert 64 is generated (Block 230).



FIG. 18 illustrates the fraud alert 64, according to exemplary embodiments. The verification server 28 and/or the trusted peer device 72 generates the fraud alert 64. While the fraud alert 64 may have any mechanism and structure, FIG. 17 illustrates a simple notification example. The fraud alert 64 is an electronic message 240 that is sent to one or more notification addresses 242. The electronic message 240 routes via the communications network 80 to a network address (e.g., IP address) associated with a destination device 244. The electronic message 240 contains information or data describing an inauthenticity of the current version 60 of the electronic document 20, based on one or more of the non-matching digital signatures 70.



FIG. 19 is a schematic illustrating still more exemplary embodiments. FIG. 19 is a more detailed diagram illustrating a processor-controlled device 250. As earlier paragraphs explained, the verification algorithm 86 and the peer-side verification algorithm 92 may partially or entirely operate in any mobile or stationary processor-controlled device FIG. 19, then, illustrates the verification algorithm 86 and the peer-side verification algorithm 92 stored in a memory subsystem of the processor-controlled device 250. One or more processors communicate with the memory subsystem and execute either, some, or all applications. Because the processor-controlled device 250 is well known to those of ordinary skill in the art, no further explanation is needed.



FIG. 20 depicts other possible operating environments for additional aspects of the exemplary embodiments. FIG. 20 illustrates the verification algorithm 86 and the peer-side verification algorithm 92 operating within various other processor-controlled devices 250. FIG. 20, for example, illustrates that the verification algorithm 86 and the peer-side verification algorithm 92 may entirely or partially operate within a set-top box (“STB”) (252), a personal/digital video recorder (PVR/DVR) 254, a Global Positioning System (GPS) device 256, an interactive television 258, a tablet computer 260, or any computer system, communications device, or processor-controlled device utilizing any of the processors above described and/or a digital signal processor (DP/DSP) 262. Moreover, the processor-controlled device 250 may also include wearable devices (such as watches), radios, vehicle electronics, clocks, printers, gateways, mobile/implantable medical devices, and other apparatuses and systems. Because the architecture and operating principles of the various devices 250 are well known, the hardware and software componentry of the various devices 250 are not further shown and described.


Exemplary embodiments may be applied to any signaling standard. Most readers are thought familiar with the Global System for Mobile (GSM) communications signaling standard. Those of ordinary skill in the art, however, also recognize that exemplary embodiments are equally applicable to any communications device utilizing the Time Division Multiple Access signaling standard, the Code Division Multiple Access signaling standard, the “dual-mode” GSM-ANSI Interoperability Team (GAIT) signaling standard, or any variant of the GSM/CDMA/TDMA signaling standard. Exemplary embodiments may also be applied to other standards, such as the I.E.E.E. 802 family of standards, the Industrial, Scientific, and Medical band of the electromagnetic spectrum, BLUETOOTH®, and any other.


Exemplary embodiments may be physically embodied on or in a computer-readable storage medium. This computer-readable medium, for example, may include CD-ROM, DVD, tape, cassette, floppy disk, optical disk, memory card, memory drive, and large-capacity disks. This computer-readable medium, or media, could be distributed to end-subscribers, licensees, and assignees. A computer program product comprises processor-executable instructions for verifying authenticity of electronic documents, as the above paragraphs explained.


While the exemplary embodiments have been described with respect to various features, aspects, and embodiments, those skilled and unskilled in the art will recognize the exemplary embodiments are not so limited. Other variations, modifications, and alternative embodiments may be made without departing from the spirit and scope of the exemplary embodiments.

Claims
  • 1. A method performed by a hardware-comprising server that verifies an authenticity of an electronic document shared via a computer network among computers, the method comprising: receiving, by the hardware-comprising server, an electronic data comprising a current version of the electronic document and a metadata associated with the current version of the electronic document;generating, by the hardware-comprising server, a current hash value by hashing only the metadata associated with the current version of the electronic document;recording the current hash value, generated by hashing of only the metadata associated with the current version of the electronic document, on a blockchain;retrieving, by the hardware-comprising server, from the blockchain, a creational hash value, the creational hash value representing a metadata associated with an original version of the electronic document;comparing, by the hardware-comprising server, the creational hash value to the current hash value;in response to the current hash value failing to match the creational hash value, determining, by the hardware-comprising server, that the current version of the electronic document shared via the computer network among the computers is not an authentic copy of the original version of the electronic document; andgenerating, by the hardware-comprising server, a fraud alert indicating the current version of the electronic document is inauthentic.
  • 2. The method of claim 1, further comprising retrieving a hashing algorithm.
  • 3. The method of claim 2, wherein the hashing algorithm is a SHA-256 algorithm.
  • 4. The method of claim 1, wherein the metadata associated with the original version of the electronic document comprises a structural detail of the original version of the electronic document.
  • 5. The method of claim 1, wherein the metadata associated with the original version of the electronic document comprises a date of creation of the original version of the electronic document.
  • 6. The method of claim 1, further comprising recording a result of the comparing step on the blockchain.
  • 7. The method of claim 6, wherein the result of the comparing step comprises information describing an inauthenticity of the current version of the electronic document.
  • 8. A system including a hardware processor and a memory device storing instructions that, when executed by the hardware processor, perform operations, the operations comprising: receiving, by a hardware-comprising server, an electronic data comprising a current version of the electronic document and a metadata associated with the current version of the electronic document;generating, by the hardware-comprising server, a current hash value by hashing only the metadata associated with the current version of the electronic document;recording the current hash value, generated by hashing of only the metadata associated with the current version of the electronic document, on a blockchain;retrieving, by the hardware-comprising server, from the blockchain, a creational hash value, the creational hash value representing a metadata associated with an original version of the electronic document;comparing, by the hardware-comprising server, the creational hash value to the current hash value;in response to the current hash value failing to match the creational hash value, determining, by the hardware-comprising server, that the current version of the electronic document shared via the computer network among the computers is not an authentic copy of the original version of the electronic document; andgenerating, by the hardware-comprising server, a fraud alert indicating the current version of the electronic document is inauthentic.
  • 9. The system of claim 8, wherein the operations further comprise retrieving a hashing algorithm.
  • 10. The system of claim 9, wherein the bashing algorithm is a SHA-256 algorithm.
  • 11. The system of claim 8, wherein the metadata associated with the original version of the electronic document comprises a structural detail of the original version of the electronic document.
  • 12. The system of claim 8, wherein the metadata associated with the original version of the electronic document comprises a date of creation of the original version of the electronic document.
  • 13. The system of claim 8, wherein the operations further comprise recording a result of the comparing step on the blockchain.
  • 14. The system of claim 13, wherein the result of the comparing step comprises information describing an inauthenticity of the current version of the electronic document.
  • 15. A memory device storing instructions that when executed by a hardware processor perform operations, the operations comprising: receiving, by a hardware-comprising server, an electronic data comprising a current version of the electronic document and a metadata associated with the current version of the electronic document;generating, by the hardware-comprising server, a current hash value by hashing only the metadata associated with the current version of the electronic document;recording the current hash value, generated by hashing of only the metadata associated with the current version of the electronic document, on a blockchain;retrieving, by the hardware-comprising server, from the blockchain, a creational hash value, the creational hash value representing a metadata associated with an original version of the electronic document;comparing, by the hardware-comprising server, the creational hash value to the current hash value;in response to the current hash value failing to match the creational hash value, determining, by the hardware-comprising server, that the current version of the electronic document shared via the computer network among the computers is not an authentic copy of the original version of the electronic document; andgenerating, by the hardware-comprising server, a fraud alert indicating the current version of the electronic document is inauthentic.
  • 16. The memory device of claim 15, wherein the operations further comprise retrieving a hashing algorithm.
  • 17. The memory device of claim 16, wherein the hashing algorithm is a SHA-256 algorithm.
  • 18. The memory device of claim 15, wherein the metadata associated with the original version of the electronic document comprises a structural detail of the original version of the electronic document.
  • 19. The memory device of claim 15, wherein the metadata associated with the original version of the electronic document comprises a date of creation of the original version of the electronic document.
  • 20. The memory device of claim 15, wherein the operations further comprise recording a result of the comparing step on the blockchain.
CROSS-REFERENCE TO RELATED APPLICATIONS

This patent application is a continuation of U.S. application Ser. No. 17/322,994 filed May 18, 2021, which is a continuation of U.S. application Ser. No. 16/548,963 filed Aug. 23, 2019 and since issued as U.S. Pat. No. 11,044,100, which is a continuation of U.S. Application Ser. No. 15/419,033 filed Jan. 30, 2017 and since issued as U.S. Pat. No. 10,419,225, with all patent applications incorporated herein by reference in their entireties.

US Referenced Citations (481)
Number Name Date Kind
4309569 Merkle Jan 1982 A
5499294 Friedman Mar 1996 A
5606609 Houser Feb 1997 A
5862218 Steinberg Jan 1999 A
5920629 Rosen Jul 1999 A
5966446 Davis Oct 1999 A
6363481 Hardjono Mar 2002 B1
7028263 Maguire Apr 2006 B2
7212808 Engstrom May 2007 B2
7272179 Siemens Sep 2007 B2
7572179 Choi Aug 2009 B2
7729950 Mendizabal Jun 2010 B2
7730113 Payette Jun 2010 B1
8245038 Golle Aug 2012 B2
8266439 Haber Sep 2012 B2
8359361 Thornton Jan 2013 B2
8442903 Zadoorian May 2013 B2
8560722 Gates Oct 2013 B2
8612477 Becker Dec 2013 B2
8706616 Flynn Apr 2014 B1
8712887 Degroeve Apr 2014 B2
8867741 McCorkindale Oct 2014 B2
8943332 Horne Jan 2015 B2
8990322 Cai Mar 2015 B2
9124423 Jennas, II Sep 2015 B2
9325653 Peterson Apr 2016 B1
9378343 David Jun 2016 B1
9396006 Kundu Jul 2016 B2
9398018 MacGregor Jul 2016 B2
9407431 Bellare Aug 2016 B2
9411524 Mark Aug 2016 B2
9411976 Irvine Aug 2016 B2
9411982 Dippenaar Aug 2016 B1
9424576 Vandervort Aug 2016 B2
9436923 Sriram Sep 2016 B1
9436935 Hudon Sep 2016 B2
9472069 Roskowski Oct 2016 B2
9489827 Quinn Nov 2016 B2
9584493 Leavy Feb 2017 B1
9588790 Wagner Mar 2017 B1
9647977 Levasseur May 2017 B2
9722790 Ebrahimi Aug 2017 B2
9818109 Loh Nov 2017 B2
9830580 MacGregor Nov 2017 B2
9875510 Kasper Jan 2018 B1
9876646 Ebrahimi Jan 2018 B2
9882918 Ford Jan 2018 B1
10025941 Griffin Jul 2018 B1
10046228 Tran Aug 2018 B2
10102265 Madisetti Oct 2018 B1
10102526 Madisetti Oct 2018 B1
10108954 Dunlevy Oct 2018 B2
10135607 Roets Nov 2018 B1
10135609 Bibera Nov 2018 B2
10163080 Chow Dec 2018 B2
10250395 Borne-Pons Apr 2019 B1
10270599 Nadeau Apr 2019 B2
10346815 Glover Jul 2019 B2
10355869 Bisti Jul 2019 B2
10366204 Tanner, Jr. Jul 2019 B2
10373129 James Aug 2019 B1
10411897 Paolini-Subramanya Sep 2019 B2
10419225 Deery Sep 2019 B2
10438285 Konstantinides Oct 2019 B1
10438290 Winklevoss Oct 2019 B1
10476847 Smith Nov 2019 B1
10532268 Tran Jan 2020 B2
10586270 Reddy Mar 2020 B2
10628268 Baruch Apr 2020 B1
10685399 Snow Jun 2020 B2
10693652 Nadeau Jun 2020 B2
10726346 Saxena Jul 2020 B2
10749848 Voell Aug 2020 B2
10764752 Avetisov Sep 2020 B1
10783164 Snow Sep 2020 B2
10817873 Paolini-Subramanya Oct 2020 B2
10826685 Campagna Nov 2020 B1
10841372 Ram Nov 2020 B1
10855446 Ow Dec 2020 B2
10873457 Beaudoin Dec 2020 B1
10915895 Fogg Feb 2021 B1
10929842 Arvanaghi Feb 2021 B1
10949926 Call Mar 2021 B1
10956973 Chang Mar 2021 B1
10958418 Ajoy Mar 2021 B2
10997159 Iwama May 2021 B2
11042871 Snow Jun 2021 B2
11044095 Lynde Jun 2021 B2
11044097 Snow Jun 2021 B2
11044100 Deery Jun 2021 B2
11063770 Peng Jul 2021 B1
11075744 Tormasov Jul 2021 B2
11093933 Peng Aug 2021 B1
11134120 Snow Sep 2021 B2
11164250 Snow Nov 2021 B2
11164254 Gordon, III Nov 2021 B1
11170366 Snow Nov 2021 B2
11171782 Tang Nov 2021 B2
11205172 Snow Dec 2021 B2
11265173 Liao Mar 2022 B2
11276056 Snow Mar 2022 B2
11281660 Pike Mar 2022 B1
11295296 Snow Apr 2022 B2
11296889 Snow Apr 2022 B2
11328290 Snow May 2022 B2
11334874 Snow May 2022 B2
11347769 Snow May 2022 B2
11348097 Snow May 2022 B2
11348098 Snow May 2022 B2
11423398 Mullins Aug 2022 B1
11438143 Collins Sep 2022 B2
11886425 Pezeshki Jan 2024 B2
20010029482 Tealdi Oct 2001 A1
20030018563 Kilgour Jan 2003 A1
20040085445 Park May 2004 A1
20050206741 Raber Sep 2005 A1
20060075228 Black Apr 2006 A1
20060184443 Erez Aug 2006 A1
20070027787 Tripp Feb 2007 A1
20070094272 Yeh Apr 2007 A1
20070174630 Shannon Jul 2007 A1
20070296817 Ebrahimi Dec 2007 A1
20080010466 Hopper Jan 2008 A1
20080028439 Shevade Jan 2008 A1
20080059726 Rozas Mar 2008 A1
20090025063 Thomas Jan 2009 A1
20090287597 Bahar Nov 2009 A1
20100049966 Kato Feb 2010 A1
20100058476 Isoda Mar 2010 A1
20100161459 Kass Jun 2010 A1
20100228798 Kodama Sep 2010 A1
20100241537 Kass Sep 2010 A1
20110061092 Bailloeul Mar 2011 A1
20110161674 Ming Jun 2011 A1
20110199469 Gallagher Aug 2011 A1
20120059824 Simon Mar 2012 A1
20120203670 Piersol Aug 2012 A1
20120264520 Marsland Oct 2012 A1
20130142323 Chiarella Jun 2013 A1
20130222587 Roskowski Aug 2013 A1
20130275765 Lay Oct 2013 A1
20130276058 Buldas Oct 2013 A1
20140022973 Kopikare Jan 2014 A1
20140201541 Paul Jul 2014 A1
20140229738 Sato Aug 2014 A1
20140279762 Xaypanya Sep 2014 A1
20140282852 Vestevich Sep 2014 A1
20140289802 Lee Sep 2014 A1
20140297447 O'Brien Oct 2014 A1
20140344015 Puértolas-Montañés Nov 2014 A1
20150052615 Gault Feb 2015 A1
20150193633 Chida Jul 2015 A1
20150206106 Yago Jul 2015 A1
20150242835 Vaughan Aug 2015 A1
20150244729 Mao Aug 2015 A1
20150309831 Powers Oct 2015 A1
20150332256 Minor Nov 2015 A1
20150363769 Ronca Dec 2015 A1
20150378627 Kitazawa Dec 2015 A1
20150379484 McCarthy Dec 2015 A1
20160002923 Alobily Jan 2016 A1
20160012240 Smith Jan 2016 A1
20160021743 Pai Jan 2016 A1
20160071096 Rosca Mar 2016 A1
20160085955 Lerner Mar 2016 A1
20160098578 Hincker Apr 2016 A1
20160119134 Hakoda Apr 2016 A1
20160148198 Kelley May 2016 A1
20160162897 Feeney Jun 2016 A1
20160217436 Brama Jul 2016 A1
20160239653 Loughlin-McHugh Aug 2016 A1
20160253663 Clark Sep 2016 A1
20160260091 Tobias Sep 2016 A1
20160267472 Lingham Sep 2016 A1
20160267558 Bonnell Sep 2016 A1
20160275294 Irvine Sep 2016 A1
20160283920 Fisher Sep 2016 A1
20160292396 Akerwall Oct 2016 A1
20160292672 Fay Oct 2016 A1
20160292680 Wilson, Jr. Oct 2016 A1
20160294783 Piqueras Jover Oct 2016 A1
20160300200 Brown Oct 2016 A1
20160300234 Moss-Pultz Oct 2016 A1
20160321675 McCoy Nov 2016 A1
20160321751 Creighton, IV Nov 2016 A1
20160321769 McCoy Nov 2016 A1
20160328791 Parsells Nov 2016 A1
20160330031 Drego Nov 2016 A1
20160330244 Denton Nov 2016 A1
20160337119 Hosaka Nov 2016 A1
20160342977 Lam Nov 2016 A1
20160342989 Davis Nov 2016 A1
20160344737 Anton Nov 2016 A1
20160371771 Serrano Dec 2016 A1
20170000613 Lerf Jan 2017 A1
20170005797 Lanc Jan 2017 A1
20170005804 Zinder Jan 2017 A1
20170033933 Haber Feb 2017 A1
20170053249 Tunnell Feb 2017 A1
20170061396 Melika Mar 2017 A1
20170075938 Black Mar 2017 A1
20170103167 Shah Apr 2017 A1
20170124534 Savolainen May 2017 A1
20170124535 Juels May 2017 A1
20170134162 Code May 2017 A1
20170148016 Davis May 2017 A1
20170161439 Raduchel Jun 2017 A1
20170177898 Dillenberger Jun 2017 A1
20170178237 Wong Jun 2017 A1
20170213287 Bruno Jul 2017 A1
20170221052 Sheng Aug 2017 A1
20170228731 Sheng Aug 2017 A1
20170236123 Ali Aug 2017 A1
20170243208 Kurian Aug 2017 A1
20170243289 Rufo Aug 2017 A1
20170244757 Castinado Aug 2017 A1
20170269186 Sharma Sep 2017 A1
20170330279 Ponzone Nov 2017 A1
20170344983 Muftic Nov 2017 A1
20170346693 Dix Nov 2017 A1
20170352027 Zhang Dec 2017 A1
20170352031 Collin Dec 2017 A1
20170353309 Gray Dec 2017 A1
20170359374 Smith Dec 2017 A1
20170364642 Bogdanowicz Dec 2017 A1
20170373859 Shors Dec 2017 A1
20180005186 Hunn Jan 2018 A1
20180048599 Arghandiwal Feb 2018 A1
20180075239 Boutnaru Mar 2018 A1
20180075527 Nagla Mar 2018 A1
20180082043 Witchey Mar 2018 A1
20180088928 Smith Mar 2018 A1
20180091524 Setty Mar 2018 A1
20180097779 Karame Apr 2018 A1
20180101701 Barinov Apr 2018 A1
20180101842 Ventura Apr 2018 A1
20180108024 Greco Apr 2018 A1
20180117446 Tran May 2018 A1
20180123779 Zhang May 2018 A1
20180139042 Binning May 2018 A1
20180144292 Mattingly May 2018 A1
20180157700 Roberts Jun 2018 A1
20180158034 Hunt Jun 2018 A1
20180167201 Naqvi Jun 2018 A1
20180173906 Rodriguez Jun 2018 A1
20180176017 Rodriguez Jun 2018 A1
20180181768 Leporini Jun 2018 A1
20180182042 Vishwa Jun 2018 A1
20180183602 Campagna Jun 2018 A1
20180189333 Childress Jul 2018 A1
20180189781 McCann Jul 2018 A1
20180204213 Zappier Jul 2018 A1
20180212779 Bergmann Jul 2018 A1
20180219683 Deery Aug 2018 A1
20180219685 Deery Aug 2018 A1
20180225640 Chapman Aug 2018 A1
20180225649 Babar Aug 2018 A1
20180241565 Paolini-Subramanya Aug 2018 A1
20180253702 Dowding Sep 2018 A1
20180260888 Paolini-Subramanya Sep 2018 A1
20180260889 Paolini-Subramanya Sep 2018 A1
20180268162 Dillenberger Sep 2018 A1
20180268382 Wasserman Sep 2018 A1
20180268504 Paolini-Subramanya Sep 2018 A1
20180276270 Bisbee Sep 2018 A1
20180276668 Li Sep 2018 A1
20180276745 Paolini-Subramanya Sep 2018 A1
20180285879 Gadnis Oct 2018 A1
20180285970 Snow Oct 2018 A1
20180285971 Rosenoer Oct 2018 A1
20180288022 Madisetti Oct 2018 A1
20180315051 Hurley Nov 2018 A1
20180316502 Nadeau Nov 2018 A1
20180330349 Uhr Nov 2018 A1
20180356236 Lawrenson Dec 2018 A1
20180365201 Hunn Dec 2018 A1
20180365686 Kondo Dec 2018 A1
20180365764 Nelson Dec 2018 A1
20180367298 Wright Dec 2018 A1
20190012637 Gillen Jan 2019 A1
20190013948 Mercuri Jan 2019 A1
20190018947 Li Jan 2019 A1
20190028273 Harras Jan 2019 A1
20190034459 Qiu Jan 2019 A1
20190036887 Miller Jan 2019 A1
20190036957 Smith Jan 2019 A1
20190043048 Wright Feb 2019 A1
20190044727 Scott Feb 2019 A1
20190050855 Martino Feb 2019 A1
20190057382 Wright Feb 2019 A1
20190058581 Wood Feb 2019 A1
20190065709 Salomon Feb 2019 A1
20190073666 Ortiz Mar 2019 A1
20190080284 Kim Mar 2019 A1
20190081793 Martino Mar 2019 A1
20190081796 Chow Mar 2019 A1
20190087446 Sharma Mar 2019 A1
20190123889 Schmidt-Karaca Apr 2019 A1
20190132350 Smith May 2019 A1
20190188699 Thibodeau Jun 2019 A1
20190197532 Jayachandran Jun 2019 A1
20190205563 Gonzales, Jr. Jul 2019 A1
20190236286 Scriber Aug 2019 A1
20190251557 Jin Aug 2019 A1
20190253240 Treat Aug 2019 A1
20190253258 Thekadath Aug 2019 A1
20190268141 Pandurangan Aug 2019 A1
20190268163 Nadeau Aug 2019 A1
20190281259 Palazzolo Sep 2019 A1
20190287107 Gaur Sep 2019 A1
20190287199 Messerges Sep 2019 A1
20190287200 Schuler Sep 2019 A1
20190288832 Dang Sep 2019 A1
20190296915 Lancashire Sep 2019 A1
20190303623 Reddy Oct 2019 A1
20190303887 Wright Oct 2019 A1
20190306150 Letz Oct 2019 A1
20190311357 Madisetti Oct 2019 A1
20190318117 Beecham Oct 2019 A1
20190319782 Ghosh Oct 2019 A1
20190324867 Tang Oct 2019 A1
20190332691 Beadles Oct 2019 A1
20190333054 Cona Oct 2019 A1
20190334715 Gray Oct 2019 A1
20190334912 Sloane Oct 2019 A1
20190340586 Sheng Nov 2019 A1
20190340607 Lynn Nov 2019 A1
20190342422 Li Nov 2019 A1
20190347444 Lowagie Nov 2019 A1
20190347628 Al-Naji Nov 2019 A1
20190349190 Smith Nov 2019 A1
20190349426 Smith Nov 2019 A1
20190354606 Snow Nov 2019 A1
20190354607 Snow Nov 2019 A1
20190354611 Snow Nov 2019 A1
20190354724 Lowagie Nov 2019 A1
20190354725 Lowagie Nov 2019 A1
20190354964 Snow Nov 2019 A1
20190356733 Snow Nov 2019 A1
20190361917 Tran Nov 2019 A1
20190372770 Xu Dec 2019 A1
20190378128 Moore Dec 2019 A1
20190385165 Castinado Dec 2019 A1
20190386940 Hong Dec 2019 A1
20190391540 Westervelt Dec 2019 A1
20190391858 Studnicka Dec 2019 A1
20190394044 Snow Dec 2019 A1
20190394048 Deery Dec 2019 A1
20200004263 Dalla Libera Jan 2020 A1
20200004946 Gilpin Jan 2020 A1
20200005270 Griffith Jan 2020 A1
20200005290 Madisetti Jan 2020 A1
20200007341 Veeningen Jan 2020 A1
20200019937 Edwards Jan 2020 A1
20200034571 Fett Jan 2020 A1
20200034813 Calinog Jan 2020 A1
20200042635 Douglass Feb 2020 A1
20200042960 Cook Feb 2020 A1
20200042982 Snow Feb 2020 A1
20200042983 Snow Feb 2020 A1
20200042984 Snow Feb 2020 A1
20200042985 Snow Feb 2020 A1
20200042986 Snow Feb 2020 A1
20200042987 Snow Feb 2020 A1
20200042988 Snow Feb 2020 A1
20200042990 Snow Feb 2020 A1
20200042995 Snow Feb 2020 A1
20200044827 Snow Feb 2020 A1
20200044856 Lynde Feb 2020 A1
20200044857 Snow Feb 2020 A1
20200065761 Tatchell Feb 2020 A1
20200067907 Avetisov Feb 2020 A1
20200075056 Yang Mar 2020 A1
20200089690 Qiu Mar 2020 A1
20200099524 Schiatti Mar 2020 A1
20200099534 Lowagie Mar 2020 A1
20200104712 Katz Apr 2020 A1
20200118068 Turetsky Apr 2020 A1
20200127812 Schuler Apr 2020 A1
20200134760 Messerges Apr 2020 A1
20200145219 Sebastian May 2020 A1
20200151714 Chan May 2020 A1
20200160326 Sarin May 2020 A1
20200167870 Isaacson May 2020 A1
20200175506 Snow Jun 2020 A1
20200195441 Suen Jun 2020 A1
20200201964 Nandakumar Jun 2020 A1
20200211005 Bodorik Jul 2020 A1
20200211011 Anderson Jul 2020 A1
20200231122 Simlett Jul 2020 A1
20200234386 Blackman Jul 2020 A1
20200250747 Padmanabhan Aug 2020 A1
20200258061 Beadles Aug 2020 A1
20200279324 Snow Sep 2020 A1
20200279325 Snow Sep 2020 A1
20200279326 Snow Sep 2020 A1
20200280447 Snow Sep 2020 A1
20200286082 Cheng Sep 2020 A1
20200302433 Green Sep 2020 A1
20200304289 Androulaki Sep 2020 A1
20200314648 Cao Oct 2020 A1
20200320097 Snow Oct 2020 A1
20200320514 Snow Oct 2020 A1
20200320521 Snow Oct 2020 A1
20200320522 Snow Oct 2020 A1
20200320620 Snow Oct 2020 A1
20200358619 Ding Nov 2020 A1
20200366495 Mahoney Nov 2020 A1
20200374129 Dilles Nov 2020 A1
20200382480 Isaacson Dec 2020 A1
20200389294 Soundararajan Dec 2020 A1
20210035092 Pierce Feb 2021 A1
20210042758 Durvasula Feb 2021 A1
20210044976 Avetisov Feb 2021 A1
20210073212 Conley Mar 2021 A1
20210073750 Ledford Mar 2021 A1
20210090076 Wright Mar 2021 A1
20210097602 Eichel Apr 2021 A1
20210119785 Ben-Reuven Apr 2021 A1
20210144149 Simons May 2021 A1
20210174353 Snow Jun 2021 A1
20210176038 Bortnikov Jun 2021 A1
20210194673 Collins Jun 2021 A1
20210200653 Jetzfellner Jul 2021 A1
20210201321 Studnitzer Jul 2021 A1
20210201328 Gunther Jul 2021 A1
20210217002 Basu Jul 2021 A1
20210226769 Snow Jul 2021 A1
20210226773 Snow Jul 2021 A1
20210241282 Gu Aug 2021 A1
20210248514 Cella Aug 2021 A1
20210266167 Lohe Aug 2021 A1
20210266174 Snow Aug 2021 A1
20210272103 Snow Sep 2021 A1
20210273810 Lynde Sep 2021 A1
20210273816 Deery Sep 2021 A1
20210297397 Bartolucci Sep 2021 A1
20210326815 Brody Oct 2021 A1
20210328804 Snow Oct 2021 A1
20210342836 Cella Nov 2021 A1
20210366586 Ryan Nov 2021 A1
20220006641 Snow Jan 2022 A1
20220012731 Derosa-Grund Jan 2022 A1
20220019559 Snow Jan 2022 A1
20220020001 Snow Jan 2022 A1
20220023742 Tran Jan 2022 A1
20220027893 Snow Jan 2022 A1
20220027897 Snow Jan 2022 A1
20220027994 Snow Jan 2022 A1
20220027995 Snow Jan 2022 A1
20220027996 Snow Jan 2022 A1
20220029805 Snow Jan 2022 A1
20220030054 Snow Jan 2022 A1
20220034004 Snow Feb 2022 A1
20220040557 Tran Feb 2022 A1
20220043831 Douglass Feb 2022 A1
20220044162 Zhang Feb 2022 A1
20220058622 Snow Feb 2022 A1
20220058623 Snow Feb 2022 A1
20220083991 Kemper Mar 2022 A1
20220103341 Snow Mar 2022 A1
20220103343 Snow Mar 2022 A1
20220103344 Snow Mar 2022 A1
20220103364 Snow Mar 2022 A1
20220141231 Simons May 2022 A1
20220156737 Wright May 2022 A1
20220172207 Cella Jun 2022 A1
20220173893 Basu Jun 2022 A1
20220198554 Filter Jun 2022 A1
20220215389 Balaraman Jul 2022 A1
20220245626 Sewell Aug 2022 A1
20220274703 Di Cosola Sep 2022 A1
20220286273 Snow Sep 2022 A1
20220329630 Li Oct 2022 A1
20220343768 Di Cosola Oct 2022 A1
20220405260 Snow Dec 2022 A1
20220407728 Snow Dec 2022 A1
20230185783 Haddad Jun 2023 A1
20230199677 Richardson Jun 2023 A1
20240046391 Ma Feb 2024 A1
20240205030 Wright Jun 2024 A1
Foreign Referenced Citations (23)
Number Date Country
107392618 Nov 2017 CN
110392052 Oct 2019 CN
110599147 Dec 2019 CN
112329041 Feb 2021 CN
10128728 Jan 2003 DE
3726438 Oct 2020 EP
3862947 Aug 2021 EP
S5383297 Jul 1978 JP
2021152931 Sep 2021 JP
100653512 Dec 2006 KR
1747221 May 2017 KR
101747221 Jun 2017 KR
0049797 Aug 2000 WO
2007069176 Jun 2007 WO
2015077378 May 2015 WO
2017190795 Nov 2017 WO
2018013898 Jan 2018 WO
2018109010 Jun 2018 WO
2018127923 Jul 2018 WO
2018127923072018 Jul 2018 WO
2019180702 Sep 2019 WO
2019207504 Oct 2019 WO
2020125839 Jun 2020 WO
Non-Patent Literature Citations (38)
Entry
Al-Naji, Nader et al., “Basis: A Price-Stable Cryptocurrency with an Algorithmic Central Bank” www.basis.io Jun. 20, 2017, 27 pages.
Alsolami, Fahad, and Terrance E. Boult. “CloudStash: using secret-sharing scheme to secure data, not keys, in multi-clouds.” Information Technology: New Generations (ITNG), 2014 11th International Conference on. IEEE, 2014. 7 pages.
Ana Reyna et al.; On blockchain and its integration with IoT. Challenges and opportunities. Future generation computer systems. vol. 88, Nov. 2018, pp. 173-190. https://www.sciencedirect.com/science/article/pii/S0167739X17329205 (Year: 2018).
Basis: A Price-Stable Cryptocurrency with an Algorithmic Central Bank Formerly known as: Basecoin Nader Al-Naji j@intangiblelabs.co), Josh Chen (Year: 2018) 27 pages.
Casey, “BitBeat: Factom Touts Blockchain Tool for Keeping Record Keepers Honest”, Wall Street Journal, Nov. 5, 2014. 2 pages.
Chakravorty, Antorweep, and Chunming Rong, “Ushare: user controlled social media based on blockchain.” Proceedings of the 11th International Conference on Ubiquitous Information Management and Communication. ACM, 2017. 6 pages.
Chen, Zhixong, and Yixuan Zhu. “Personal Archive Service System using Blockchain Technology: Case Study, Promising and Challenging.” AI & Mobile Services (AIMS), 2017 IEEE International Conference on. IEEE, 2017. 7 pages.
Crosby, Michael et al., “BlockChain Technology, Beyond Bitcoin”, Sutardja Center for Entrepreneurship & Technology, Berkeley Engineering, Oct. 16, 2015, 35 pages.
Dai et al. TrialChain: A Blockchain-Based Platform to Validate Data Integrity in Large, Biomedical Research Studies arXiv: 1807.03662 Jul. 10, 2018 (Year: 2018). 7 pages.
Eberhardt et al., “ZoKrates—Scalable Privacy-Preserving Off-Chain Computations,” https://ieeeexplore.ieee.org/stamp/JSP?tp:::&armumber:::8726497. (Year:2018) 8 pages.
Feng and Luo, “Evaluating Memory-Hard Proof-of-Work Algorithms on Three Processors,” PVLDB, 13(6): 898-911, 2020.
Fernandez-Carames et al.; A Review on the Use of Blockchain for the Internet of Things. https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=8370027 (Year: 2018). 23 pages.
Haarmann, et al., “DMN Decision Execution on the Ethereum Blockchain,” Hasso Plattner Institute, University of Potsdam, May 17, 2018, 15 pages.
Iddo Bentov, Bitcoin and Secure Computation with Money, May 2016 (Year: 2016). 177 pages.
Kim et al., “A Perspective on Blockchain Smart Contracts,” Schulich School of Business, York University, Toronto, Canada, 2017, 6 pages.
Kroeger, T. et al., The Case for Distributed Data Archival Using Secret Splitting with Percival, 6th International Symposium on Resilient Control Systems (available at IEEE Xplore), p. 204-209 (Year: 2013).
Krol, Michal et al., “SPOC: Secure Payments for Outsourced Computations” https://arxiv.org/pdf/1807.06462.pdf. (Year: 2018) 6 pages.
Luther, “Do We Need A “Fedcoin” Cryptocurrency?,” ValueWalk, Newstex Global Business Blogs, Dec. 30, 2015 (Year: 2015) 10 pages.
Luu et al., Making Smart Contracts Smarter, 2016. 16 pages.
Menezes, Alfred. J., et al. “Handbook of Applied Cryptography,” 1997, CRC Press, p. 527-28.
Merkle Mountain Ranges (MMRs)-Grin Documentation, https://quentinlesceller.github.io/grin-docs/technical/building-blocks/merkle-mountain-ranges/, 5 pages, printed Jun. 1, 2022.
Merkle Mountain Ranges, https://github.com/opentimestamps/opentimestamps-server/blob/master/doc/merkle-mountain-range.md, 3 pages, printed Jun. 1, 2022.
Michelson, Kyle, et al., “Accumulate: An identity-based blockchain protocol with cross-chain support, human-readable addresses, and key management capabilities”, Accumulate Whitepaper, v1.0, Jun. 12, 2022, 28 pages.
MOF-BC: A Memory Optimized and Flexible BlockChain for Large Scale Networks. lle:///C:/Users/eoussir/Documents/e-Red%20Folder/16905961/NPL_MOF_BC_A%20Memory%20Optimized%20and%20Flexible%20Blockchain.pdf (Year:2018) 43 pages.
Muhamed et al. EduCTX: A Blockchain-Based Higher Education Credit Platform, https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=8247166. (Year: 2017). 16 pages.
On blockchain and its integration with IoT. Challenges and opportunities. file:///C:/Users/eoussir/Downloads/1-s2.0S0167739X17329205-main%20(1). pdf (Year: 2018) 18 pages.
Sokolowski, R. (2011). Signed, sealed, delivered: EMortgages are protected from unauthorized alteration by something called a tamper seal. Mortgage Banking, 71(6), 108(4). Retrieved from https://dialog.proquest.com/professional/docview/1068158815? accountid=131444 (Year: 2011).
United States: New Generation cryptocurrency, USDX Protocol, Offers Crypto Advantages and Fiat Pegging, Apr. 2, 2018 (Year: 2018). 3 pages.
Unknown, “Federated Learning: Collaborative Machine Learning without Centralized Training Data” Apr. 6, 2017, 11 pages.
Unknown, “Midex”, https://promo.midex.com/Midex_EN.pdf, 2017, 25 pages.
Unknown, Xtrade White Paper, https://xtrade1-9649.kxcdn.com/wp-content/uploads/2017/09/xtrade-whitepaper.pdf Feb. 7, 2018, 37 pages.
Watanabe, Hiroki, et al. “Blockchain contract: Securing a blockchain applied to smart contracts.” 2016 IEEE International Conference on Consumer Electronics (ICCE). IEEE, 2016. 2 pages.
White, Ron, “How Computers Work,” Oct. 2003, QUE, Seventh Edition (Year: 2003), 23 pages.
Why offchain storage is needed for blockchain_V4_1 FINAL (Year: 2018), by IBM, 13 pages.
Written Opinion in PCT/US2021/040207, Inventor Snow, Mail date Oct. 7, 2021, 14 pages.
ZoKrates—Scalable Privacy-Preserving Off-Chain Computations, by Jacob Eberhardt, Stefan Tai , 8 pages, Nov. 3, 2011 (Year: 2011).
Encoding, Encryption, and Hashing by Andrea Chiarelli (Year: 2022).
P. Sood, P. Palsania, S. Ahuja, S. Kumar, K. Khatter and A. Mishra, “Decentralised & Collaborative DocuPad Using Blockchain,” 2022 IEEE Delhi Section Conference (DELCON), New Delhi, India, 2022, pp. 1-8, doi: 10.1109/DELCON54057.2022.9752853. ( Year: 2022).
Related Publications (1)
Number Date Country
20240187254 A1 Jun 2024 US
Continuations (3)
Number Date Country
Parent 17322994 May 2021 US
Child 18540677 US
Parent 16548963 Aug 2019 US
Child 17322994 US
Parent 15419033 Jan 2017 US
Child 16548963 US