A method for building a blockchain
By converting the RGB image of a physical object into a secondary color space and generating a hash value, and combining the high entropy characteristics of natural pigments, the shortcomings of data security and manipulation security in blockchain technology are solved, achieving the untraceability and collision resistance of the hash value, while reducing energy consumption and environmental impact.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-06-29
- Publication Date
- 2026-03-13
AI Technical Summary
Existing blockchain technology has shortcomings in terms of data security and manipulation security, especially the untraceability of hash value generation and the risk of collisions, which necessitate improvements in data security and manipulation security.
By converting the RGB image of a physical object into a secondary color space and generating a hash value, the high entropy properties of blends are utilized, combined with the use of natural pigments, to reduce the energy consumption of blockchain technology and improve data security and manipulation security.
It achieves untraceability and collision resistance in hash value generation, reduces energy consumption of blockchain technology, improves data security and manipulation security, and reduces electricity consumption and CO2 emissions.
Smart Images

Figure CN115918059B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to computer-implemented methods for generating hash values, computer-implemented methods for generating root hashes, computer-implemented methods for generating random numbers, computer-implemented methods for generating blockchains, blockchains, cryptocurrencies, and various uses of blockchains. Specifically, the methods, apparatus, and systems according to the invention can be used for secure transaction processing in the fields of smart contracts, financial services, healthcare, personal identification, cryptocurrencies, and supply chain management. Other applications are also possible. Background Technology
[0002] In many applications such as financial services, healthcare, personal identification, cryptocurrencies, and supply chains, blockchain technology is an effective way to ensure the secure processing of transactions involving permissions, collaborations with other companies, and the sale of technology.
[0003] A blockchain is a growing list of records called blocks, linked together using cryptographic methods. Each block contains a cryptographic hash of the previous block, a timestamp, and transaction data. By design, a blockchain is resistant to data modification. It is an "open, distributed ledger that efficiently and verifiably records transactions between two parties." To function as a distributed ledger, a blockchain is typically managed by a peer-to-peer network that adheres to protocols for inter-node communication and verifying new blocks. Each block contains a cryptographic hash of the previous block in the blockchain, linking the two together. Linked blocks form a chain. This iterative process confirms the integrity of previous blocks, all the way back to the original genesis block. Blockchain technology typically requires cryptographic hash functions, needs to handle a variety of information, and requires hash functions to map data of arbitrary size to fixed-size values, ensuring that the data in any given block cannot be retroactively altered.
[0004] US2004 / 153649 A1 describes a system for creating and authenticating printed objects using authentication information. It also describes techniques for incorporating authentication information into a digital representation of an object and for using that authentication information to authenticate the object.
[0005] JP 2008 078820A describes an image processing apparatus for converting first image data to be expressed using multiple element colors into second image data to be expressed using multiple other element colors. The apparatus includes: means for generating a hash value, which determines the distribution ratio of multiple element colors based on the characteristics of the colors to be converted based on the input first image data and human visual characteristics; a color conversion table for indicating the correspondence between the first image data and the second image data according to the hash value; and means for applying the color conversion to the second image data corresponding to the generated hash value based on the color conversion table. When the generated hash value does not exist in the color conversion table, the hash value and the correspondence between the first image data and the second image data are added to the color conversion table.
[0006] Despite the achievements of known blockchain technologies and methods for generating blockchains, especially given recent advancements in computer technology, increased computing power, and resource availability, there remains a need to improve data security and the security against manipulation. In particular, it is necessary to ensure the untraceability of hash value generation.
[0007] Therefore, cryptographic hash functions are needed, which provide three fundamental security properties to ensure data security: anti-preimage, anti-second preimage, and collision resistance. Anti-preimage makes it difficult and time-consuming for an attacker to find the original message given a corresponding hash value. This security is provided by the properties of one-way functions, which is key to resisting brute-force attacks from powerful computers. The second security property, called anti-second preimage, is granted when a message is known but it is difficult to find another message that carries the same hash value. The final security property is collision resistance, which makes it extremely difficult to find two inputs that hash to the same value.
[0008] Furthermore, cryptographic hash functions are proposed to allow for the properties of strong hashing algorithms: determinism, anti-aliasing, collision resistance, and avalanche effect. A hash algorithm should be deterministic, meaning it always provides you with the same size output, regardless of the initial size of your input. This means that if you hash a single sentence, the output should be the same size as if you hashed the entire book. A strong hash algorithm is anti-aliasing, meaning it is not feasible to recover the original plaintext input message by reversing the hash value. Therefore, the concept of hashing is an irreversible one-way function. A collision occurs when two objects collide. If two unique samples of input data result in the same output, it is called a collision. This means that the algorithm used to hash the data is corrupted and therefore insecure. Essentially, the problem here is that someone could create a malicious file with an artificial hash value that matches a real (secure) file and pass it out as a real file because the signature would match. Therefore, a good and trustworthy hashing algorithm is one that can resist these collisions. The avalanche effect refers to any change made to the input, no matter how small, causing a huge change in the output. Essentially, small changes can snowball into larger changes, hence the term "avalanche effect". Summary of the Invention
[0009] Problems to be solved
[0010] Therefore, it is desirable to provide methods and apparatus for addressing the aforementioned technical challenges. Specifically, methods for generating hash values, methods for generating root hashes, methods for generating random numbers, methods for generating blockchains, blockchains, cryptocurrencies, and several uses of blockchains that allow for improved data security and the security of data (especially transaction data) manipulation should be provided.
[0011] Overview
[0012] This problem is addressed by the features of the independent claims, through computer-implemented methods for generating hash values, computer-implemented methods for generating root hashes, computer-implemented methods for generating random numbers, computer-implemented methods for generating blockchains, blockchains, cryptocurrencies, and several uses of blockchains. Advantageous embodiments that can be implemented in isolation or in any combination are set forth in the dependent claims.
[0013] As used below, the terms “have,” “contain,” or “include,” or any grammatical variations thereof, are used in a non-exclusive manner. Thus, these terms can refer to either a situation where no other features exist in the entity described in the context besides those introduced by these terms, or a situation where one or more additional features exist. For example, the statements “A has B,” “A contains B,” and “A includes B” can all refer to a situation where no other elements exist in A besides B (i.e., A consists solely of B), and can also refer to a situation where, besides B, entity A contains one or more additional elements, such as element C, elements C and D, or even other elements.
[0014] Furthermore, it should be noted that the terms "at least one," "one or more," or similar expressions indicating that a feature or element may appear once or more are generally used only once when describing the corresponding feature or element. In the following text, in most cases, the expressions "at least one" or "one or more" will not be repeated when referring to the corresponding feature or element, even though the corresponding feature or element may appear once or more.
[0015] Furthermore, as used below, the terms “preferredly,” “more preferably,” “particularly,” “more particularly,” “specifically,” “more specifically,” or similar terms are used in combination with optional features without limiting the possibility of substitution. Therefore, features introduced by these terms are optional features and are not intended to limit the scope of the claims in any way. As those skilled in the art will recognize, the invention can be practiced by using alternative features. Similarly, features introduced by phrases such as “in embodiments of the invention” are intended to be optional features, without limiting alternative embodiments of the invention, without limiting the scope of the invention, and without limiting the possibility of combining the introduced features in this way with other optional or non-optional features of the invention.
[0016] In a first aspect of the invention, a computer-implemented method for generating hash values is proposed. The method includes method steps, which may be executed in a given order. However, a different order is also possible. Two or more method steps may also be executed simultaneously, either wholly or partially. Furthermore, one or more, or even all, of the method steps may be executed once or repeatedly, such as once or multiple times. Additionally, the method may include additional method steps not listed.
[0017] As used herein, the term "computer-implemented" is a broad term and should be given its common and conventional meaning by those skilled in the art, without limitation any particular or customary meaning. The term may specifically refer to, but is not limited to, a process implemented wholly or partially using a data processing device (such as a data processing device including at least one processor). Therefore, the term "computer" can generally refer to a device or combination of devices or a network having at least one data processing device (such as at least one processor). Additionally, a computer may include one or more other components, such as at least one of a data storage device, an electronic interface, or a human-machine interface.
[0018] Hash values are typically generated using hash functions. A hash function can be any function that can be used to map data of any size to a fixed-size value. The value returned by a hash function is called a hash value. As used herein, the term "hash value" is a broad term and should be given its common and conventional meaning by those skilled in the art, and not limited to a specific or customary meaning. The term may specifically refer to, but is not limited to, a fixed-length numerical value that uniquely represents data.
[0019] As used herein, the term "data" is a broad term and should be given its common and conventional meaning by those skilled in the art, without limitation any particular or customary meaning. Specifically, the term may refer to, but is not limited to, information and / or machine-readable signals or symbols representing information. Data may specifically be, or may include, one or both of digital data and analog data.
[0020] The method includes the following steps:
[0021] i) Provide a first digital RGB image of the physical object having a first RGB color;
[0022] ii) Combine the first transaction data and the first digital RGB image to generate a second RGB image with a second RGB color;
[0023] iii) Convert the color values of the second RGB image from the RGB color space to a secondary color space with at least four primary colors, and determine the number of pixels corresponding to each primary color in the secondary color space;
[0024] iv) A hash value is generated by converting the determined number of pixels corresponding to each primary color in the secondary color space into hexadecimal numbers.
[0025] As used herein, the term "digital image" (also referred to as "digital picture") is a broad term and should be given its common and conventional meaning by those skilled in the art, without limitation any specific or customary meaning. The term can specifically refer to, but is not limited to, a two-dimensional representation of a physical object. The terms image and picture are used synonymously below. The terms "first" and "second," etc., are used only in names. As used herein, the term "digital RGB image" is a broad term and should be given its common and conventional meaning by those skilled in the art, without limitation any specific or customary meaning. The term can specifically refer to, but is not limited to, a color digital image with three color channels: one for red (R), one for green (G), and one for blue (B). The primary colors of a digital RGB image can be red, green, and blue. An RGB digital image can have color channels for each primary color. A digital color image can include multiple image pixels, where each image pixel is composed of a combination of primary colors. For example, a digital RGB image can be 24-bit or 48-bit. Each pixel of a digital RGB image can be specified by two spatial coordinates and three color values.
[0026] As used herein, the term "provide" a first digital RGB image is a broad term and should be given its common and conventional meaning by those skilled in the art, and not limited to a particular or customary meaning. Specifically, the term may refer to, but is not limited to, generating a first digital RGB image or obtaining a first digital RGB image of a physical object from a database of physical objects such as paintings, buildings, plants, etc.
[0027] Preferably, the first digital RGB image can be generated by digital scanning of a physical object. The physical object can be any physical object. For example, the physical object can be a mixture, a painting, a building, a plant, etc.
[0028] Specifically, providing the first digital RGB image may include blending and / or mixing pigments, as well as scanning the blended and / or mixed pigments. The method may include generating at least one blend by mixing at least two materials according to at least one mixing information item using a blending device.
[0029] As used herein, the term "material" is a broad term and should be given its common and conventional meaning by those skilled in the art, without limitation any particular or customary meaning. The term may specifically refer to, but is not limited to, a chemical element or compound, specifically a chemical element or compound that is miscible with other chemical elements or compounds. The material is particularly suitable for casting. The material can generally be solid, specifically granular solid, liquid, or gaseous, or one or more of these states. Specifically, the material may be or may include at least one of a powder or liquid. The material may be a homogeneous, monolithic material. Alternatively, the material may also comprise multiple components that are homogeneously or non-homogeneously mixed. Thus, the material itself may be a mixture or a complex. As an example, the material may be or may include a liquid, wherein the liquid, for example, includes at least one solvent and at least one compound dissolved, emulsified, or dispersed in the at least one solvent. The solvent may form part of the material, or alternatively, at least one compound may be considered the material, while the solvent may simply be considered an adjunct or additive to the material.
[0030] As used herein, the term "blending" is a broad term and should be given its common and conventional meaning by those skilled in the art, without limitation any particular or customary meaning. The term may specifically refer to, but is not limited to, the process of mixing at least two materials in a defined manner to produce a blend. The process of producing a blend may include additional steps, such as temperature changes or temperature treatments of the at least two materials. Depending on the properties of the at least two materials, mixing may be carried out in various ways. As an example, in the case where the at least two materials comprise powders, mixing may involve co-dispensing or subsequently dispensing the powder into a common container, including the option of stirring the mixture. Alternatively or additionally, in the case where the at least two materials comprise liquids, mixing may also involve co-dispensing or subsequently dispensing the liquid into a common container, including the option of stirring the mixture. Alternatively or additionally, as will be further detailed below, mixing may also include a printing process, such as inkjet printing the at least two materials onto, for example, a common substrate. Alternatively or additionally, blending may include other types of mixing processes of the at least two materials, such as mixing the at least two materials on at least one common substrate. As an example, blending may include one or more electrostatic deposition processes, such as electrostatic deposition of the at least two materials onto, for example, a common substrate, or onto a statically charged surface. Therefore, specifically, blending and / or mixing can include electrostatic deposition during the printing process. For example, blending and / or mixing can include electrostatic deposition during a printing process in which at least two electrostatically charged materials are printed onto an electrostatically neutralized surface. Thus, materials can be mixed, thereby at least temporarily changing their charge. Specifically, blending and / or mixing can include electrostatic deposition during laser printing processes, such as those typically performed in laser printers. In particular, at least two materials (e.g., pigments) can, for example, first become electrostatically charged and deposited on an image roller carrying the same charge, where specific areas have been electrostatically neutralized, for example, by using a laser and / or LED. As an example, these deposited materials can then be pulled out and / or removed from the image roller by a reverse-charged substrate, such as by reverse-charged paper.
[0031] Blending can leave materials unchanged, or it can completely or partially alter their properties. Thus, as an example, materials can be simply mixed without any chemical change. Alternatively, materials can be mixed to alter their chemical properties. The latter can specifically occur when the materials contain a solvent, which may completely or partially evaporate during or after blending. Furthermore, alternatively, materials can also react completely or partially with each other to produce at least one reaction product.
[0032] As used herein, the term "blend" is a broad term and should be given its common and conventional meaning, not limited to a particular or customary meaning, by those skilled in the art. The term may specifically refer to, but is not limited to, a mixture of at least two materials. Specifically, the mixture may be present in at least one container and / or on at least one substrate. The mixture can generally be solid, specifically granular solid, liquid, or gaseous, or one or more of these states. Specifically, the mixture may be or may include at least one of powder or liquid. The mixture may be in the same state as the materials or may be in a different state. As an example, at least one material may be in a liquid state, wherein the mixture may also be in a solid state, for example, after a drying process. Thus, as an example, at least two materials may be mixed in a liquid state during a blending process, wherein drying may then be performed to evaporate at least one solvent and / or thereby alter the chemical properties of the blended materials. As an example, a blending process may mean printing at least two liquid materials onto at least one substrate, followed by a drying or solidification process, wherein the blend may therefore be in a dry or solid state. Other examples may imply phase change processes, such as curing or solidification of the mixed materials.
[0033] As used herein, the term "blending information item" is a broad term and should be given its common and conventional meaning by those skilled in the art, without limitation any specific or customary meaning. The term may specifically refer to, but is not limited to, at least one information item describing a defined blending process. At least one blending information item may refer to the blending process itself, such as the manner in which at least two materials are blended, for example, process parameters of the blending process. Alternatively or additionally, at least one blending information item may also refer to the materials used in the blending, such as the amount to be blended during the blending process, for example, the mass or volume of the material.
[0034] As used herein, the term "blending equipment" is a broad term and should be given its common and conventional meaning by those skilled in the art, without limitation any particular or customary meaning. The term may specifically refer to, but is not limited to, equipment configured to perform the blending process described above. Specifically, as will be further detailed below, blending equipment may include at least one feeder or reservoir for each material in the mixture. Blending equipment may also include at least one blending element, such as a nozzle, stirring device, printer, mixer, etc.
[0035] Therefore, the term "blend" as used herein is a broad term and should be given its common and conventional meaning by those skilled in the art, without limitation any particular or customary meaning. The term may specifically refer to, but is not limited to, a mixture of at least two materials. The blend may specifically be present on a substrate or in a container. The blend may specifically contain a limited amount of material.
[0036] Providing a first digital RGB image may include detecting at least one material property of the blend using at least one detector. As used herein, the term "material property" is a broad term and should be given its common and conventional meaning by those skilled in the art, without limitation a specific or customary meaning. The term may specifically refer to, but is not limited to, any property of a material (such as a blend). The property may specifically refer to one or more of physical, chemical, or biological properties. Specifically, a material property may include at least one of the mechanical or optical properties of a material. A material property may specifically refer to a measurable property of the corresponding material. More specifically, at least one material property may be or may include at least one color of the blend. Additionally or alternatively, at least one property is selected from the group consisting of: the specific density of the blend; the volume of the blend; the weight of the blend; the optical properties of the blend; the spectral (particularly chromatographic) composition of the blend; the color intensity of the blend; and the viscosity of the blend. Other material properties may be used alternatively or additionally.
[0037] The step of detecting at least one material property of a blend may specifically include generating at least one measurement information item regarding the material property. Therefore, at least one measurement information item can generally refer to a measurement of at least one material property, such as at least one numerical measurement value indicating at least one material property of the blend or a characteristic of at least one material property of the blend. Thus, as an example, at least one measurement information item may include, for example, at least one of the following: a specific density measurement of the blend; a volume measurement of the blend; a weight measurement of the blend; an optical property measurement of the blend; a color measurement of the blend; a spectral composition measurement of the blend, specifically a chromatographic measurement of the blend; a color intensity measurement of the blend; and a viscosity measurement of the blend. As an example, these measurements may each be or may include a single number or multiple numbers, such as distribution, spectrum, etc. Specifically, at least one measurement information item may be or may include at least one numerical value, such as a numerical value.
[0038] As used herein, the term "detection" is a broad term and should be given a common and conventional meaning by those skilled in the art, without limitation a specific or customary meaning. The term can specifically refer to, but is not limited to, the process of generating information about a characteristic or measurable variable, wherein qualitative and / or quantitative information can be obtained. The term can specifically refer to the process of measuring at least one measurable variable of a physical object. Therefore, as used herein, the term "detector" is a broad term and should be given a common and conventional meaning by those skilled in the art, without limitation a specific or customary meaning. The term can specifically refer to, but is not limited to, any device configured to perform a detection process, such as a device having at least one sensor for measuring at least one measurable variable of an object. As an example, the sensor may include one or more of the following: a weight sensor, specifically a scale; a volume sensor; a density sensor; a color sensor; a particle size distribution sensor. Other sensors may be used additionally or alternatively.
[0039] At least one blending information item may specifically include n blending variables, where n represents a positive integer. As used herein, the term "blending variable" is a broad term and should be given its common and conventional meaning by those skilled in the art, without limitation a specific or customary meaning. The term may specifically refer to, but is not limited to, variables that quantitatively or qualitatively describe at least one aspect or parameter of the blend. As an example, a blending variable may refer to at least two materials to detect the blending process, such as the amount of mixture or the material flow. Furthermore, m material properties of the blend may be detected, where m is a positive integer. Specifically, the number of detected material properties m may be as large as or greater than the number of blending variables n. In other words, preferably m ≥ n. In other words, the information generated by the detection may be at least as large as the information used to generate the blend, where the term "information" may refer to the numbers n and m respectively, and / or may generally refer to the number of degrees of freedom and / or the logarithm of the degrees of freedom, such as logn or log m respectively.
[0040] The at least two materials blended may specifically be different materials, specifically differing in relation to at least one property selected from the group consisting of: chemical properties, specifically chemical composition; optical properties, specifically optical appearance, such as one or more of color, transparency, and brightness; mechanical properties, specifically one or more of particle size, particle size, density, viscosity, or flow properties; electrostatic charge-carrying capacity; compressibility; crystallinity; and particle shape. Furthermore, other properties may be used additionally or alternatively.
[0041] Specifically, the at least two materials may include bulk materials and / or loose materials. Each of the at least two materials is independently selected from the group consisting of solid materials, gaseous materials, and liquid materials. More specifically, the at least two materials may be independently selected from the group consisting of and / or may include at least two materials selected from the group consisting of:
[0042] - Powder, specifically powder selected from the group consisting of:
[0043] • Inorganic powder, specifically inorganic powder made from minerals;
[0044] • Organic powder, specifically organic powder made from polymers;
[0045] ·pigment;
[0046] - Liquid, specifically a liquid selected from the group consisting of pure liquids, suspensions, emulsions or solutions, and more specifically one or more of liquid pigments and inks.
[0047] In the context of this invention, any suitable pigment may be used. A mixture of one or more pigments may also be used in the context of this invention.
[0048] In the context of this invention, the amount of pigment used can vary. Preferably, the amount of pigment used is in the range of 10. -15 g / cm 2 Up to 1g / cm 2 Within the range, more preferably within 10 -9 g / cm 2 Up to 10 -3 g / cm 2 Within the range.
[0049] The particle size of the pigments used is preferably in the range of 10 nanometers to 1 mm, and more preferably, particularly in the range of 100 nanometers to 100 micrometers.
[0050] Preferably, suitable pigments are selected from inorganic materials, more preferably from metal oxides, and more preferably from naturally derived metal oxides. Suitable pigments may be, for example, pigments selected from iron oxide. Iron oxide pigments are relatively inexpensive materials that resist color changes caused by exposure to sunlight, have good chemical resistance, and are stable under normal environmental conditions. Iron oxide has been found to be particularly suitable because the material can be easily recycled and reused. For example, iron oxide pigments can be collected and used as raw materials in steel production, thus avoiding the disposal of used pigments as waste.
[0051] Suitable iron oxides can also be used as natural pigments. Suitable red pigments are obtained from hematite, yellow and brown pigments (such as ochre, mountain, and brown earth) are obtained from limonite, while magnetite provides black iron oxide pigments. Furthermore, according to the invention, synthetic pigments, particularly metal oxides (such as iron oxide), can be used, manufactured under controlled conditions to produce excellent uniformity in particle size, distribution, and shape, thereby improving color quality and chemical purity.
[0052] For example, pigments from natural sources are suitable for the methods of this invention, such as pigments selected from natural organic materials (e.g., organic materials from plants, animals, and minerals). Pigments selected from synthetic organic materials are also suitable, such as, for example, azo pigments. Suitable mineral pigments are, for example, ochre, ferruginous loess, azurite, cobalt, or ultramarine. Spinel may also be used. Ochre is typically red or yellow and is extracted from iron ore or iron-bearing clay. Ferrruginous loess is a limonite clay extracted from iron oxide to produce a rich red color. Azurite is found in the upper oxidized portion of copper deposits. Ultramarine can be obtained from lapis lazuli or can be artificially produced. Spinel is available in yellow, orange, turquoise, and blue. Further examples include: Carmine Lake Natural Red 4 (cochineal), Natural Yellow Lake 3 (from plants), Madder Lake Natural Red 9 (madder root), Indigo Lake Natural Blue 2 (woad), Chlorophyll Lake (plant material), Vegetable or Bone Black, Titanium Dioxide, Iron Oxide, Talc, Chalk, Kaolin and other earth pigments.
[0053] According to another embodiment of the invention, preferably at least 20%, more preferably 30%, and most preferably 40% of the pigments used should be of natural origin, i.e. obtained from natural products rather than petrochemical products through simple separation or purification steps.
[0054] In the context of this invention, the term pigment also includes pigments visible under UV light. Sustainable and eco-friendly materials can be used, such as pigments from Clariant available under the Ecotrain label, for example, pigments selected from Novoperm Yellow HR 72, Hostaperm Blue B2G 03, Hostaperm Green GNX 01, HansaBrilliant Yellow 2GX 72-S, Hostaperm Yellow H3G EDW VP 5131, Novoperm Orange HL71, and Hostaperm Blue B2G-EDS VP 3491.
[0055] In the context of this invention, effect pigments, such as, for example, absorbent pigments, metallic effect pigments, and pearlescent pigments, can also be used. Metallic effect pigments or metallic-like effect pigments typically consist of flakes or sheets of aluminum, copper, copper-zinc alloys, zinc, and other metals. Suitable pearlescent pigments are, for example, mica-based pigments, but also pigments based on silica or alumina flakes. Suitable pigments are, for example, natural mica pigments coated with a thin film of a metal oxide (such as TiO2 or iron oxide). Furthermore, in the context of this invention, pigments based on silica flakes (SiO2) or alumina (Al2O3) can be used. Suitable substrate-free pearlescent pigments are, for example, natural pearlescent concentrate, basic lead carbonate, bismuth oxychloride, mica iron oxide, and TiO2 flakes.
[0056] This invention utilizes the high entropy of the solid particle mass when blending solid particles. Therefore, for an average particle size of 1 μm and a volume of 1 mm containing trillions of particles, this is possible. 3 For dense granular systems, trillions of equations need to be solved to describe the positions of these particles. Therefore, as described above and as outlined in more detail below, this invention provides a technique for ensuring increased data security and data manipulation security in blockchain technology. Blockchain technology is one of the most innovative technologies, developed and with potential applications in education, commerce, and industry. Blockchain has become a way to store digital information without any third-party intervention. It is used in a variety of other applications, not just as a simple distributed ledger. Over time, it has had a greater impact on different economic sectors and is welcomed for its immutability. However, blockchain technology faces some challenges.
[0057] One of these problems is energy consumption. Due to the algorithms that are followed in their creation, blockchains have been found to consume excessive amounts of energy. Johannes Sedlmeir et al.'s "The Energy Consumption of Blockchain Technology: Beyond Myth", Bus Inf Syst Eng 62(6):599-608 (2020) and Eshani Ghosh and Bai-sakhi Das's "A study on the issue of blockchain's energy consumption", January 2020, DOI:10.1007 / 978-981-15-0361-0_5, Proceedings of International Ethical Hacking Conference 2019 (pp.63-75) describe the enormous energy consumption required by blockchain technology.
[0058] This invention proposes an efficient method for analyzing the physical results arising from optical principles, particularly when using coloring pigments to perform blending of solid particle blocks. Therefore, the application of the high entropy of solid particle blocks offers significant advantages, thereby reducing the overall energy consumption of blockchain technology. Specifically, energy consumption can be improved by using the aforementioned pigments, such as "natural pigments," which do not require energy input to perform chemical synthesis. Using natural pigments in printers can reduce electrical energy consumption by 99% compared to publicly available data on blockchain technology (see the aforementioned publications). Therefore, this invention makes a significant contribution to reducing costs and CO2 emissions, as most of the electrical energy is not derived from renewable resources.
[0059] The blending of at least two materials can be performed based on at least one blending information item. Specifically, the at least one blending information item may include at least one of the following: the amount of the at least two materials to be blended; the weight of the at least two materials to be blended; the volume of the at least two materials to be blended; the blending volume ratio of the at least two materials to be blended; the blending weight ratio of the at least two materials to be blended; a blending instruction for mixing two or more continuous or discontinuous streams of the at least two materials to be blended; or a printing instruction for blending the at least two materials to be blended, such as tilt information for blending the at least two materials to be blended using raster images with different tilts (e.g., raster images generated by the printer's raster image processor (RIP)). Furthermore, other types of blending information may also be used, either additionally or alternatively.
[0060] At least two materials can be fed into the blending apparatus continuously or discontinuously. Thus, as an example, the blending apparatus may include at least two reservoirs for the at least two materials to be blended. However, alternatively, other methods of feeding materials into at least one blending apparatus are also possible. Therefore, as an example, continuous feeding is possible, in addition to using at least one reservoir for at least one of the materials, or alternatively.
[0061] The blending apparatus may further include at least one receiving element for receiving the blend. As used herein, the term "receiving element" generally refers to any element configured for receiving the blend. Specifically, the receiving element may have at least one receiving surface and / or at least one receiving material for receiving the blend. Thus, by way of example, the at least one receiving element may specifically include at least one element selected from the group consisting of: a receiving container for receiving the blend; a substrate for receiving the blend. The at least one receiving element may be a fixed receiving element and / or a movable receiving element, such as a rotatable receiving element. By way of example, the receiving element may include at least one substrate, such as a substrate having at least one substrate surface, which may be or may include a planar substrate surface and / or may be or may include a curved substrate surface. By way of example, the receiving element may include at least one drum, such as a rotary drum, having a receiving surface for receiving the blend. By using the blending apparatus, the blend may be deposited directly or indirectly onto the rotary drum. By way of example, a drum may be used to temporarily fix (e.g., electrostatically fix) the blend thereon. These electrostatic drums are well known in the field of printing technology, such as laser printing.
[0062] In cases where the receiving element includes at least one drum, the drum may specifically be a rotating drum. The method may further include at least one cleaning step in which, after detecting at least one material property, the blend may be specifically removed from the receiving surface of the drum. As an example, powder and / or pigment may be dispensed onto the rotating drum, and as an example, may be temporarily fixed to the surface of the rotating drum by electrostatic force. During the period when the blend is fixed to the surface of the rotating drum, at least one material property of the blend on the detection surface may be read, for example, by optical reading. As an example and as will be further detailed below, color may be detected, and subsequently, as an example, may be converted into binary information, such as a binary number line. The drum may then be cleaned, such as by rotating it to a cleaning position, for example, by rotating the drum 90°.
[0063] A similar process can also be performed by inkjet printing directly on the surface of the drum and / or on a moving substrate (such as a paper substrate), optionally without electrostatic fixation. After at least one property is detected, the drum can be cleaned for reuse. Thus, as an example, the blending apparatus may include at least one inkjet printer. The material may be or may include inkjet printing of the material (which may be or may include a liquid material) onto at least one receiving element, such as onto at least one rotating drum and / or onto at least one substrate. Subsequently, at least one material property (such as at least one optical property) may be detected, for example, by optical reading. As an example, color may be detected again, and subsequently, as an example, may be converted into binary information, such as binary number lines. The drum may then be cleaned, for example, by rotating to a cleaning position, such as by rotating the drum 90°. Alternatively or additionally, in addition to cleaning at least one receiving element, a new receiving element or a new portion of the receiving element may be used for further steps, such as for further printing and for repeated blending and detection.
[0064] Blending equipment may specifically include at least one blending element for producing a blend. As used herein, the term "blending element" is a broad term and should be given its common and conventional meaning by those skilled in the art, without limitation a specific or customary meaning. The term may specifically refer to, but is not limited to, any element, apparatus, or combination of elements configured to blend at least two materials, for example, before, during, or after deposition onto at least one optional receiving element, specifically by mixing at least two materials. As an example, the at least one blending element may be or may include at least one element selected from the group consisting of: a dispenser for continuously or discontinuously dispensing at least one of two materials; a printer for printing at least two materials onto at least one receiving element, specifically onto at least one substrate, specifically at least one printer selected from the group consisting of: an inkjet printer, a laser printer. Furthermore, other types of blending elements may be used additionally or alternatively. Thus, as an example, a blending element may be or may include at least one of a stirring element, a dispenser, a nozzle, and an extruder.
[0065] The blending device may be or may include at least one printer. The printer is configured to receive at least one blending information item and to blend the blends. As used herein, the term "printer" is a broad term and should be given its common and conventional meaning by those skilled in the art, without limitation a specific or customary meaning. The term may specifically refer to, but is not limited to, a device configured to apply (e.g., print) at least one material onto at least one printing surface or substrate in a patterned manner based on at least one printer control information. Thus, a printer may generally be configured to generate text and / or images, such as strings, bitmap images, vector images, or one or more computer programs (e.g., provided in at least one printer control language), on at least one printing surface based on at least one printer control information. In particular, the printer (specifically, at least one function of the printer) may be controlled via at least one printer control language, such as one or more Page Description Languages (PDLs), Printer Command Languages (PCLs), PostScript, XML paper specifications, etc.
[0066] Specifically, the printer may include one or more drums, such as an image drum; a laser; a lens system, such as a lens system including at least one mirror (e.g., a rotatable mirror); a cleaning element, such as a roller, a scraper, or a similar device for cleaning, for example for cleaning the drum; a cartridge, such as a paper tray, for storing one or more substrates; at least one conveying element, such as a roller and / or a conveyor, for feeding, conveying, and / or ejecting substrates (specifically paper) into, into, and / or out of the printer; and a printer control unit configured to control the printer.
[0067] A printer may be specifically configured to blend at least two materials onto at least one substrate according to at least one blending information item. Specifically, the printer may be configured to blend (thus generating, for example, a blend) at least two materials onto a substrate for receiving the blend according to the blending information item. The substrate may specifically be or may include at least one carrier medium, such as a carrier medium selected from the group consisting of: glass carriers, such as glass plates or sheets; plastic carriers, such as plastic plates or sheets; paper carriers, such as paper; and canvas. Other substrates may be feasible. As an example, the substrate may be part of the printer itself or may be embedded within the printer. In particular, the substrate included by the printer may be a reusable carrier medium, such as a medium with a cleanable surface, such as a printer drum, for example, a rotary drum.
[0068] The printer can be further configured to blend at least two materials to produce at least one pattern, specifically at least one interference pattern. The at least two materials to be blended by the printer can be, in particular, different materials, specifically materials differing in at least one property. As an example, the at least two materials to be blended by the printer can differ in at least one property selected from the group consisting of: chemical properties, specifically chemical composition; optical properties, specifically optical appearance, such as one or more of color, transparency, and brightness; mechanical properties, specifically one or more of particle size, particle size, density, viscosity, or flow properties; electrostatic charge carrying capacity; compressibility; crystallinity; and particle shape.
[0069] The method may include converting detected material properties into RGB values for generating a first digital RGB image. The conversion can be performed using at least one data processing device configured to apply at least one transformation algorithm to the material properties. The conversion of at least one material property into RGB values can be computer-implemented. Therefore, the conversion of at least one material property into RGB values is performed using at least one data processing device configured to apply at least one transformation algorithm to the material properties. As used herein, the term "data processing device" is a broad term and should be given its common and conventional meaning, not limited to a specific or custom meaning, by those skilled in the art. Specifically, the term may refer to, but is not limited to, a computer or computer system having at least one processor and optionally at least one data storage device. As an example, the processor may include at least one integrated circuit configured to execute computer-readable instructions. Additionally or alternatively, the processor may also be or may include at least one application-specific integrated circuit and / or at least one field-programmable gate array. As an example, the configuration of the data processing device for applying at least one transformation algorithm may be performed, for example, by providing a plurality of computer-readable instructions to the data processing device via at least one data storage device and / or via at least one interface.
[0070] As used herein, the term "processor" is a broad term and should be given its common and conventional meaning by those skilled in the art, without limitation any particular or custom meaning. Specifically, the term may refer to, but is not limited to, any logic circuit configured to perform basic operations of an electronic device or system, and / or generally refers to a device configured to perform computational or logical operations. In particular, a processor may be configured to process basic instructions that drive a device or system, such as a computer. As an example, a processor may include at least one arithmetic logic unit (ALU), at least one floating-point unit (FPU) (such as a math coprocessor or a number coprocessor), multiple registers (specifically registers configured to provide operands to the ALU and store the results of operations), and memory (such as L1 and L2 cache memories).
[0071] As used herein, the term "algorithm" is a broad term and should be given its common and conventional meaning by those skilled in the art, without limitation its specific or customary meaning. The term may specifically refer to, but is not limited to, multiple process steps executed subsequently and / or in parallel. Specifically, an algorithm may include one or more mathematical operations to be applied to at least one input variable. Thus, the term "transformation algorithm" may specifically refer to an algorithm that performs a transformation process for converting material properties into RGB values by using one or more mathematical operations to be applied to at least one input variable. The transformation of material properties to RGB values may be performed in a single step or in multiple steps.
[0072] Converting a material property into RGB values may include subjecting at least one material property to at least one test, specifically at least one predetermined test. This at least one test may be, or may include, comparing the at least one material property directly or indirectly with at least one comparison value, at least one range of comparison values, etc., using at least one measurement information item. Other mathematical tests are generally feasible and may also be applied. Based on the results of the at least one test, RGB values can be generated. Specifically, converting a material property into RGB values may include comparing at least one material property (including the option of using at least one measurement information item representing the material property) with at least one threshold. Based on the result of this comparison, at least one number may be assigned to the material property for each primary color.
[0073] Preferably, the first digital RGB image can be generated by scanning, particularly digitally scanning, the blend or at least a region of interest of the blend. Digital scanning can be performed using at least one scanning device. As used herein, the term "scanning device" is a broad term and should be given its common and conventional meaning by those skilled in the art, without limitation any specific or customary meaning. Specifically, the term can refer to, but is not limited to, a device configured to detect at least one property of at least one object and / or element (e.g., a blend). In particular, the scanning device can be configured to examine and / or detect at least one material property of the blend. As an example, the scanning device can have at least one scanning element configured to optically record and / or capture one-dimensional, two-dimensional, or even three-dimensional optical information with spatial resolution about the blend. Thus, for example, for optical detection, the scanning device can include at least one sensor, such as an optical sensor, specifically an image sensor, such as at least one photocapacitor, at least one charge-coupled device (CCD). The scanning device can include, for example, at least one CCD chip and / or at least one CMOS chip. Specifically, the scanning device can be configured to detect light signals of blends (e.g., blended and / or combined powder components) using an optical system. In particular, the scanning system can be configured to convert (e.g., decompose) the light signals of the blends into primary colors, such as red, green, and blue, for example, by using a prism. The scanning device can be specifically configured to convert the light signals (such as the converted primary color light signals) into at least one digital image, for example, by using at least one sensor (such as a sensor comprising multiple photocapacitors). Furthermore, the scanning device may include at least one illumination element, such as an element configured to illuminate the blend, wherein the scanning device can be configured to detect at least one property of the blend by using reflection from the blend. Here, the scanning device may also be referred to as a scanner. The scanning device can specifically be or may include devices selected from the group consisting of: CCD scanners; CIS scanners; cameras; and film. Specifically, the scanning device may include at least one optical detection system, specifically including one or more of an optical detector, an image sensor (e.g., a photomultiplier tube (PMT), such as a vacuum tube that converts incident photons into electrical signals, or a silicon photomultiplier tube (SiPM), such as a solid-state device that converts incident photons into electrical signals). The scanning device may also include at least one processor, wherein the processor can be configured to control at least one scanning operation of the scanning device.
[0074] The scanning can be performed, for example, using light with a wavelength in the range of 10 nm to 1 mm, preferably in the range of 300 nm to 800 nm. The luminous intensity of the light used is preferably 0.001 lm / m². 2 Up to 10,000,000 lm / m 2Within the range, more preferably within 10lm / m 2 Up to 1,000,000 lm / m 2 Within the range.
[0075] Step i) may include generating digital image elements by resizing the first digital RGB image to a predefined size. The size of the digital image elements may be larger than the size of the first transaction data. As used herein, the term "digital image element" is a broad term and should be given a common and conventional meaning by those skilled in the art, without limitation any specific or customary meaning. The term may specifically refer to, but is not limited to, a portion or cropping of the first digital RGB image. As used herein, the term "resizing" is a broad term and should be given a common and conventional meaning by those skilled in the art, without limitation any specific or customary meaning. The term may specifically refer to, but is not limited to, resizing and / or selecting and / or reducing and / or cropping the entire first digital RGB image into digital image elements that include regions of interest.
[0076] Transactions may include financial transactions such as payments, licenses, orders, and invoices, and / or logistical transactions such as delivery, storage of records, and travel records, and / or transactions related to planning and / or tax filing and / or contracts and / or personal health information.
[0077] As used herein, the term "transaction data" is a broad term and should be given its common and conventional meaning by those skilled in the art, without limitation any specific or customary meaning. The term may specifically refer to, but is not limited to, data describing at least one transaction. Transaction data may include one or more of the following: transaction time, transaction value, transaction text, transaction digital image, transaction text, transaction digital graphic, etc. Transaction data may be provided in binary format.
[0078] As used herein, the term "combined" data (such as first transaction data and a digital RGB image) is a broad term and should be given its common and conventional meaning by those skilled in the art, without limitation any specific or customary meaning. The term may specifically refer to, but is not limited to, pixel information added to and / or mapped to a digital RGB image. Specifically, the combination of data and a digital RGB image may include adding binary code of the data to binary code of the digital RGB image.
[0079] Hash can be performed by mapping transaction data or other information to a digital image, resulting in a new RGB-colored digital image. The combination of the first transaction data and the first digital RGB image may include adding the binary code of the transaction to the binary code of the RGB colors of the first digital RGB image. Specifically, step ii) includes determining the binary code of the first digital RGB image and adding the binary code of the first transaction data to the binary code of the first digital RGB image. The combination may include mapping the transaction data to digital image elements. The vectors used for color positions remain unchanged.
[0080] The combination can be performed as follows. The color value of each pixel of the first digital RGB image can be converted into a hexadecimal number. For example, the conversion of color values to hexadecimal numbers can be performed using at least one mathematical algorithm and / or at least one predetermined relation (such as a lookup table), as described in "The Image-Interface: Graphical Supports for Visual Information", Everardo Reyes-Garcia, John Wiley & Sons, 2017, ISBN 978-1-1194-7497-5. The hexadecimal numbers can be further converted into binary code of the first digital RGB image, for example, by using at least one mathematical algorithm and / or at least one predetermined relation (such as a lookup table), as described in "Improving Image Performance by Using Color Lookup Tables", Adobe developer support, Technical Note #5121, 31 March 1992.
[0081] Binary code for a first digital RGB image and first transaction data can be added. The added binary code can be converted into hexadecimal numbers, which can then be converted into color values. For example, the conversion from hexadecimal numbers to color values can be performed using at least one mathematical algorithm and / or at least one predetermined relation (such as a lookup table), as described in "The Image-Interface: Graphical Supports for Visual Information", Everardo Reyes-Garcia, John Wiley & Sons, 2017, ISBN 978-1-1194-7497-5. A second RGB image can be generated using color values determined for the corresponding image pixels. The second RGB image can be a second digital RGB image. The second RGB image may differ from the first digital RGB image. In particular, pixels in the first digital RGB image and the second RGB image have different color values.
[0082] The new image (i.e., the second RGB image) can then be digitally converted from RGB colors to a secondary color space. As used herein, the term "secondary color space" is a broad term and should be given its common and conventional meaning by those skilled in the art, without limitation any particular or customary meaning. Specifically, the term may refer to, but is not limited to, any color space having a suitable number of primary colors (i.e., at least four primary colors). Preferably, the secondary color space is the CMYK color space, wherein the primary colors of the secondary color space are black, cyan, magenta, yellow, and white, where white refers to the absence of color on a white substrate. The conversion from the RGB color space to the secondary color space can be performed on each pixel of the second RGB image. A conversion from the RGB color space to a secondary color space can be performed using at least one mathematical algorithm and / or at least one predefined relation (such as a lookup table), for example, the conversion from the RGB color space to the CMYK color space, as described in US 5,283,671 A, “Schuleder Farben-Grundzüge der Farbentheorie für Computeranwender und andere”, Küp-pers, Harald, DuMont Buchverlag. 2. As described in Edition, ISBN 978-3-7701-2841-9, pages 125-134. Conversion from the RGB color space can be performed using at least one type of software, particularly software for printers that convert RGB colors.
[0083] The converted image can be further converted into a pattern. This pattern can be a grid. The pattern may include at least one matrix comprising rows and columns indicating the presence or absence of the primary color for each corresponding pixel. Further conversion, particularly rasterization, can be performed by printer software. Next, the colored points can be counted. Determining the number of pixels corresponding to each primary color in the secondary color space can include counting the colored points of the converted and rasterized image (particularly a matrix).
[0084] A defined number of pixels for each primary color can be converted to hexadecimal numbers. Specifically, the number of color dots is converted to hexadecimal numbers. The conversion from defined numbers to hexadecimal numbers to color values can be performed using at least one mathematical algorithm and / or at least one predetermined relation (such as a lookup table), for example as described in "Improving Image Performance by Using Color Lookup Tables, Adobe developer support, Technical Note #5121, 31 March 1992".
[0085] The generation of hash values may involve converting a predetermined number of pixels individually colored for each primary color in the secondary color space into a fixed-size hexadecimal value via a predefined formula. Specifically, the predetermined number of pixels for each primary color can be converted into a fixed-size value without decimal places. The predefined formula may be a logarithmic formula. The information of the count points can be converted into a fixed-size hexadecimal number via a logarithmic formula, which is necessary for hashing any transaction. The predefined mathematical formula used to convert a predetermined number of pixels correspondingly colored for each primary color in the secondary color space into a fixed-size hexadecimal value may be “a+b*x+c*(x / 16)+d*1000*ln(x+1)”, where “x” is the number of pixels for each primary color, and a, b, c, and d are parameters. For example, to generate a 4-digit hexadecimal number, the value of "a" can be 4096 in all the following cases: when the sum of all pixels for each primary color is less than 60000, "b" is 1, and "c" and "d" are 0; when the sum of all pixels for each primary color is between 60000 and 950000, "c" is 1, and "b" and "d" are 0; when the sum of all pixels for each primary color is greater than 950000, "d" is 1, and "b" and "c" are 0. Therefore, the result calculated using a predefined formula can be rounded down to a complete hexadecimal number. For example, to generate hash values of other fixed sizes besides a 4-digit hexadecimal number, such as 3 or 10 digits, "a", "b", "c", and "d" can be adjusted accordingly.
[0086] Since this method describes two-dimensional information (i.e., digital images) as one-dimensional values (hexadecimal numbers), it meets the requirements of a cryptographic hash function. Specifically, the number of distinct RGB colors in a standard RGB image can exceed 16 million per pixel, meaning a 10-megapixel image can have over 100 trillion color information variables. Due to the vast amount of color information, the risk of hash collisions should be low. Specifically, hash values are generated using a first digital RGB image of a blend of locally generated mixed pigments, and therefore, tracing the hash generation of billions of particles is impossible. Furthermore, the hash values are highly secure due to the large number of possible colors for each pixel and every element in the image. The number of possible colors can depend on the image size and scanner resolution. Therefore, given increasing camera resolution, the number of possible colors may even increase in the future.
[0087] This method may include printing transaction data on a substrate. The method may include printing a second RGB image on the substrate and printing a hexadecimal number of a hash value on the same substrate. This can allow the transaction to be physically transmitted to a more distant location, where the printed output can be read by a scanning device and converted back to the second digital RGB image. The method may include verifying the printed transaction data by verifying the second digital RGB image. By comparing the number of color points (cmyk-“w”) in the printed second digital RGB image with the hash value, it can be observed that the transaction has been manipulated because the image has been altered. Verification may include determining that the transaction has been manipulated. The method may include scanning the printed second digital RGB image and determining the number of pixels correspondingly colored in the secondary color space on the substrate by converting the determined number of pixels for each primary color in the secondary color space to a hexadecimal number and comparing the hexadecimal number with the hexadecimal number of the hash value printed on the substrate.
[0088] As summarized above, the method for generating hash values disclosed herein can be implemented, wholly or partially, by at least one computer or computer network. Step i) can also be partially computer-implemented or computer-supported. Therefore, the present invention also discloses a computer program and a computer program product having program code means, so that when the computer program product or computer program is executed on a computer or computer network, it fully or partially performs or supports the method for generating hash values according to the present invention in one or more embodiments appended herein. Specifically, the program code means can be stored on a computer-readable data carrier and / or a computer-readable storage medium. As used herein, the terms "computer-readable data carrier" and "computer-readable storage medium" can specifically refer to non-transitory data storage devices, such as hardware storage media on which computer-executable instructions are stored. The computer-readable data carrier or storage medium can specifically be or may include storage media such as random access memory (RAM) and / or read-only memory (ROM).
[0089] In another aspect of the invention, a computer-implemented method for generating root hashes is disclosed.
[0090] This method may include generating a hash tree, also referred to as a Merkle tree. Typically, a hash tree has leaves that serve as hashes. A hash tree can have multiple hashes. The term "root hash" as used herein is a broad term and should be given its common and conventional meaning, not limited to a specific or customary meaning, by those skilled in the art. The term may specifically refer to, but is not limited to, the top of the hash tree, and also to the main hash.
[0091] The method includes determining a first hash value by using a method for generating hash values according to the invention as described above or in more detail below. For possible definitions, options, or embodiments, refer to the description given above.
[0092] The method for generating the root hash includes the following method steps, which may be executed in a given order. However, a different order is also possible. Furthermore, two or more method steps may be executed simultaneously, either fully or partially. Additionally, one or more, or even all, of the method steps may be executed once or repeatedly, such as once or multiple times. Moreover, the method may include additional method steps not listed.
[0093] The generation of the root hash includes the following steps:
[0094] a) Combine the second transaction data and the first digital RGB image to generate a third RGB image with a third RGB color;
[0095] b) Convert the color values of the third RGB image from the RGB color space to a secondary color space, and determine the number of pixels corresponding to each primary color in the secondary color space.
[0096] c) Generate additional hash values by converting the determined number of pixels correspondingly colored for each primary color in the secondary color space into hexadecimal numbers.
[0097] d) Generate the root hash by aggregating the first hash value and the other hash values.
[0098] The combination of the second transaction data and the first digital RGB image can be performed similarly to the description regarding the combination of the first transaction data and the first digital RGB image. Since the second transaction data differs from the first transaction data, the third RGB image has different RGB color values than the second RGB image. The combination of the first digital RGB image may include determining and / or obtaining additional digital images from the first digital image, such as by extraction and / or resizing. These additional digital images can be combined with the second transaction data.
[0099] The conversion of color values from the third RGB image to the secondary color space can be performed similarly to the conversion of the second RGB image to the secondary color space. The generation of the additional hash value can be performed similarly to the generation of the first hash value.
[0100] Therefore, in principle, in steps a) to c), the hashing routine according to the method for generating hash values according to the present invention, as described above or in more detail below, is repeated for the second transaction data. Since the second transaction data differs from the first transaction data, the third RGB image has different RGB color values than the second RGB image, resulting in a different hash value than the first hash value.
[0101] Step d) involves generating a root hash by aggregating a first hash value and another hash value. Techniques for aggregating the first hash value and another hash value into a root hash are known to those skilled in the art. For example, the first hash value and the other hash value can be added together.
[0102] This method can be repeated. Specifically, the method may include generating additional hash values for additional transaction data and generating a root hash by aggregating the hash values.
[0103] The method for generating root hashes disclosed herein can be implemented, in whole or in part, by at least one computer or computer network. Therefore, the invention also discloses computer programs and computer program products having program code means, so that when the computer program product or computer program is executed on a computer or computer network, it fully or partially performs or supports the method for generating root hashes according to the invention in one or more of the appended embodiments. Specifically, the program code means can be stored on a computer-readable data carrier and / or a computer-readable storage medium. The computer-readable data carrier or storage medium can specifically be or may include storage media such as random access memory (RAM) and / or read-only memory (ROM).
[0104] In another aspect of the invention, a computer-implemented method for generating random numbers is disclosed. As used herein, the term "random number" is a broad term and should be given a common and conventional meaning by those skilled in the art, without limitation a specific or customary meaning. Specifically, the term may refer to, but is not limited to, any one-dimensional number that can only be used once.
[0105] The method for generating random numbers includes the following method steps, which may be executed in a given order. However, different orders are also possible. Furthermore, two or more method steps may be executed simultaneously, either entirely or partially. Additionally, one or more, or even all, of the method steps may be executed once or repeatedly, such as once or multiple times. Moreover, the method may include additional method steps not listed.
[0106] The method includes the following steps:
[0107] - Generate digital RGB images with RGB colors by scanning physical objects;
[0108] - Random numbers are generated by determining the binary code of a digital RGB image.
[0109] The description regarding generating a digital RGB image refers to the process of generating a first RGB image.
[0110] Determining the binary code of a digital RGB image may include converting the color value of each pixel of the digital RGB image into a hexadecimal number. For example, the conversion of color values to hexadecimal numbers can be performed using at least one mathematical algorithm and / or at least one predetermined relation (such as a lookup table), as described in “The Image-Interface: Graphical Supports for Visual Information”, Everardo Reyes-Garcia, John Wiley & Sons, 2017, ISBN 978-1-1194-7497-5. The hexadecimal numbers can be further converted into the binary code of the digital RGB image, for example, by using at least one mathematical algorithm and / or at least one predetermined relation (such as a lookup table), as described in “Improving Image Performance by Using Color Lookup Tables”, Adobe developer support, Technical Note #5121, 31 March 1992. The random number can be the code for the RGB color, but not the code for the image vector.
[0111] The method for generating random numbers disclosed herein can be implemented entirely or partially by at least one computer or computer network. The step of generating a digital RGB image can also be implemented partially by a computer or supported by a computer. Therefore, the present invention also discloses computer programs and computer program products having program code means so that, when the computer program product or computer program is executed on a computer or computer network, it can fully or partially perform or support the method for generating random numbers according to the present invention in one or more of the appended embodiments. Specifically, the program code means can be stored on a computer-readable data carrier and / or a computer-readable storage medium. The computer-readable data carrier or storage medium can specifically be or may include storage media such as random access memory (RAM) and / or read-only memory (ROM).
[0112] In another aspect of the invention, a computer-implemented method for generating a blockchain is disclosed.
[0113] This method involves generating multiple subsequent linked blocks for the blockchain. The method includes generating a genesis block by scanning a physical object to generate a first digital RGB image with a first RGB color. Subsequent blocks are generated by determining the binary code of the first digital RGB image and adding the binary code to information to be mapped, thereby generating a second RGB image with a second RGB color. This process is repeated for each subsequent block until the blockchain is closed.
[0114] As used herein, the term "block" is a broad term and should be given its common and conventional meaning by those skilled in the art, without limitation any particular or customary meaning. The term may specifically refer to, but is not limited to, components or elements of a blockchain. A blockchain can be defined as a chain of blocks that can store certain records and are linked together using cryptographic principles; for further details see Eshani et al., "A study on the issue of blockchain's energy consumption", Chapter 2, DOI:10.1007 / 978-981-15-0361-0_5. Each block may include transaction data. Blocks can be linked by including the hash of the previous block. Each block includes the cryptographic hash of the previous block. Each block may further include a timestamp.
[0115] The term "genesis block" as used herein is a broad term and should be given its common and conventional meaning by those skilled in the art, without limitation any specific or customary meaning. Specifically, the term may refer to, but is not limited to, the first block or block 0 of the blockchain. Regarding the generation of the first digital RGB image, refer to the description of generating the first RGB image above or in more detail below.
[0116] As outlined above, this method can be repeated. For example, the method may include generating a third block by determining the binary code of a second digital RGB image and adding the binary code of the second RGB image to additional information to be mapped, thereby generating a third digital RGB image with a third RGB color. A blockchain may include multiple blocks, such as three, four, five, ten, twenty, or more blocks.
[0117] Determining the binary code of the first digital RGB image may include converting the color value of each pixel of the first digital RGB image into a hexadecimal number. For example, the conversion of color values to hexadecimal numbers may be performed using at least one mathematical algorithm and / or at least one predetermined relation (such as a lookup table), as described in “The Image-Interface: Graphical Supports for Visual Information”, Everardo Reyes-Garcia, John Wiley & Sons, 2017, ISBN 978-1-1194-7497-5. The hexadecimal numbers may be further converted into the binary code of the first digital RGB image, for example, by using at least one mathematical algorithm and / or at least one predetermined relation (such as a lookup table), as described in “Improving Image Performance by Using Color Lookup Tables”, Adobe developer support, Technical Note #5121, 31 March 1992.
[0118] As used herein, the term "information to be mapped" is a broad term and should be given its common and conventional meaning by those skilled in the art, without limitation any particular or customary meaning. The term can specifically refer to, but is not limited to, any kind of information or data to be stored in a block. For example, the information to be mapped includes one or more of transaction data, root hash, random number, previous hash value, and timestamp. The method may include determining the root hash for each generated block using the method for generating root hash according to the invention and adding the root hash to the block. The method may include determining a random number for each generated block using the method for generating random number according to the invention and adding the random number to the block. The method may include adding the timestamp of the corresponding transaction to each generated block. The method may include adding the hash value of the previous block to each generated block. The hash value can be determined using the method for generating hash value according to the invention. The information to be mapped may exist in binary format, particularly as binary code.
[0119] The first digital RGB image and the added binary code of the information to be mapped can be converted into hexadecimal numbers, which can then be converted into color values. The binary-to-hexadecimal conversion can be performed, for example, by using at least one mathematical algorithm and / or at least one predetermined relation (such as a lookup table), as described in "Improving Image Performance by Using Color Lookup Tables," Adobe developer support, Technical Note #5121, 31 March 1992. For example, the hexadecimal-to-color value conversion can be performed using at least one mathematical algorithm and / or at least one predetermined relation (such as a lookup table), as described in "The Image-Interface: Graphical Supports for Visual Information," Everardo Reyes-Garcia, John Wiley & Sons, 2017, ISBN 978-1-1194-7497-5. The second RGB image can be a second digital RGB image. The second RGB image may differ from the first digital RGB image. In particular, the pixels of the first digital RGB image and the second RGB image have different color values.
[0120] For each additional set of transactions, the next subsequent block can be generated by determining the binary code of the previous block's digital image and adding additional information to be mapped to the binary code of the previous block's digital RGB image to generate a next digital RGB image with different RGB colors. This set of transactions may include one or more transactions. The binary code of the previous block's digital RGB image and the added information to be mapped can be converted into hexadecimal numbers, which can then be converted into color values. These color values can be used for the corresponding pixels in the next digital RGB image, i.e., for the next block.
[0121] The method may further include the encrypted generation of blocks. As used herein, the term "encryption" is a broad term and should be given its common and conventional meaning by those skilled in the art, without limitation a specific or customary meaning. Specifically, the term may refer to, but is not limited to, the process of modifying one or more messages, information, or data using at least one encryption means (also called an encryption key) so that only authorized persons can access it and unauthorized persons cannot. Modified data generated by an encryption process may also be referred to as "encrypted data." Specifically, encryption may include a process of modifying one or more messages, information, or data so that only a person possessing a specific authorized means (also called an encryption key) can transform the modified message, information, or data into its original or readable form, and thereby obtain the original message, information, or data. Encryption or the encryption process (i.e., the process of modifying a message, information, or data) may specifically involve an encryption algorithm by combining the message, information, or data with at least one encryption key. As an example, in binary format, each bit of the message, information, or data may be combined with a corresponding bit of the encryption key to generate encrypted bits. Other encryption algorithms are generally known and may also be used in the context of this invention.
[0122] As used herein, the term "encryption key" is a broad term and should be given its common and conventional meaning by those skilled in the art, without limitation any specific or customary meaning. The term may specifically refer to, but is not limited to, the encryption or decryption means used in the encryption or decryption process, respectively. The term may specifically refer to the information item that defines the functional output of an encryption algorithm, such as the encryption and / or decryption process. An encryption key may also specify variations of other encryption algorithms, such as digital signature schemes and message verification codes.
[0123] The same key can be used for both encryption and decryption. Therefore, the term "encryption key" is generally used for both the key used in encryption and the key used in decryption. However, in addition to symmetric encryption and decryption processes, asymmetric processes are also generally possible, i.e., processes where the keys used for encryption and decryption are different. Nevertheless, in the terminology of this invention, the term "encryption key" is used for both the key used in encryption and the key used in decryption. This invention may refer to symmetric encryption processes. Nevertheless, asymmetric encryption processes are also possible.
[0124] An encryption key can be generated by using at least one data processing device to transform the blended material properties detected by the scanning device into an encryption key, wherein the at least one data processing device is configured to apply at least one transformation algorithm to the material properties.
[0125] The transformation of at least one material property into at least one encryption key can be performed in a computer-implemented manner. The transformation from material property to encryption key can be performed in a single step or in multiple steps. As an example, the transformation from material property to encryption key can be performed by providing at least one electronic signal (such as digital information) representing at least one material property to at least one data processing device for further processing. Therefore, as an example, the detector can communicate directly or indirectly with the data processing device or can even be part of the data processing device. Thus, at least one material property can be provided directly or indirectly to the data processing device for further processing, and at least one transformation algorithm can be applied directly or after preprocessing. The result of the transformation process can be an encryption key, wherein, as an example, the encryption key can be provided electronically. As an example, the encryption key can be or may include electronic information in digital or analog format. As an example, the encryption key can be provided to one or more of a data storage device and interface, a third party, etc.
[0126] It should be summarized that encryption keys can be generated in a single step or in multiple steps. Therefore, encryption keys can also be generated iteratively, for example, by repeating blending and detection steps, and optionally by transforming the steps, wherein, for example, in each step of blending and detection, a portion of the encryption key is generated and / or additional blending information is generated for use in further blending steps. Thus, complex and large encryption keys can be generated iteratively, even if the number of material properties of a single blend may be limited.
[0127] Transforming a material property into an encryption key may specifically include subjecting at least one material property to at least one test, specifically at least one predetermined test. As an example, and as will be further elaborated below, the at least one test may be or may include, for example, comparing at least one material property directly or indirectly with at least one comparison value, at least one range of comparison values, etc., using at least one measurement information item. Other mathematical tests are generally feasible and may also be applied. Based on the result of the at least one test, an encryption key or at least a portion thereof may be generated. Transforming a material property into an encryption key may specifically include comparing at least one material property (including the option of using at least one measurement information item representing the material property) with at least one threshold. Based on the result of the comparison, at least one number may be assigned to the material property. This number may specifically be a binary number. This number may directly form the encryption key or may form part of the encryption key. Thus, as an example, the encryption key may include its multiple values, wherein at least one bit value is assigned based on the result of the comparison of the material property with at least one threshold. As an example, the spectrum or distribution of at least one material property of the blend, such as color distribution, may be measured. Specific bit values may be selected based on, for example, the statistical occurrence of a particular color or the statistical occurrence of another particular characteristic or property of the blend. For example, other bit values can be selected based on other specific characteristics of the blend. This allows the generation of a complete encryption key, or at least a portion thereof.
[0128] Encryption can be performed using at least one data encryption system. As used herein, the term "data encryption system" is a broad term and should be given its common and conventional meaning by those skilled in the art, without limitation its specific or customary meaning. The term may specifically refer to, but is not limited to, devices, combinations of devices, or components or combinations of components configured for encrypting data. A data encryption system may be wholly or partially embodied in, or may be included in, a computer or computer system. A data encryption system may include:
[0129] - At least one encryption key generation device according to the present invention (such as according to any of the embodiments disclosed above or further detailed below involving encryption key generation devices); and
[0130] - At least one encryption device is configured to generate encrypted data by encrypting data using an encryption key.
[0131] The method may further include at least one decryption step, wherein the encrypted block is decrypted. As used herein, the term "decryption" is a broad term and should be given a common and conventional meaning by those skilled in the art, without limitation a specific or customary meaning. The term may specifically refer to, but is not limited to, the reverse process of the encryption process described above. The term may specifically refer to, but is not limited to, the process of modifying encrypted data using at least one decryption means (also called an encryption key) to transform the encrypted data into a readable format, i.e., transforming it into one or more of the original message, information, or data in a readable format. The process of modifying the encrypted data may specifically involve a decryption algorithm, such as combining the encrypted data with at least one encryption key. As an example, in binary format, each bit of the encrypted data may be combined with a corresponding bit of the encryption key to generate a decryption bit. Other decryption algorithms are generally known and may also be used in the context of this invention. At least one decryption device may be used to perform decryption, the decryption device being configured to decrypt the encrypted data using the encryption key. As used herein, the term "decryption device" is a broad term and should be given a common and conventional meaning by those skilled in the art, without limitation a specific or customary meaning. The term may specifically refer to, but is not limited to, any device configured to perform the step of decrypting data. As outlined above, a decryption device may specifically include at least one processor configured to perform decryption. The decryption device may be wholly or partially embodied in software running on at least one computer.
[0132] The method may include a printing step, wherein at least one block, i.e., a digital RGB image, is printed.
[0133] The methods for generating blockchains disclosed herein can be implemented, in whole or in part, by at least one computer or computer network. The step of generating a digital RGB image can also be implemented, in part, by a computer or supported by a computer. Therefore, the present invention also discloses computer programs and computer program products having program code means, so that when the computer program product or computer program is executed on a computer or computer network, it fully or partially performs or supports the methods for generating blockchains according to the present invention in one or more of the embodiments appended herein. Specifically, the program code means can be stored on a computer-readable data carrier and / or a computer-readable storage medium. The computer-readable data carrier or storage medium can specifically be or may include storage media such as random access memory (RAM) and / or read-only memory (ROM).
[0134] In another aspect of the invention, a digital image-based blockchain is disclosed. The blockchain comprises multiple linked blocks. The blockchain is generated using a method according to the invention for generating a blockchain, as described above or in more detail below. Therefore, for definitions and embodiments, reference is made to the description of the method for generating a blockchain.
[0135] For the physical transfer of transaction data from one node to another, an RGB image of the transaction, mapped from the transaction data, can be printed on a substrate, along with the hash value of the transaction data. If the printed transaction data has not been manipulated, verification can be performed by scanning the printed RGB image of the transaction and determining the number of pixels correspondingly colored in the secondary color space on the substrate. This determination is then converted into a hexadecimal number for each primary color in the secondary color space, and compared with the hexadecimal number printed on the substrate. If the hexadecimal number of the scanned authentication image matches the hexadecimal number of the hash value of the transaction data, the verification that the transaction data has not been manipulated is successful.
[0136] In another aspect of the invention, a cryptocurrency is disclosed. The cryptocurrency can be configured to be used as a medium of exchange, wherein individual coin ownership records are stored in a blockchain, particularly in a blockchain according to the invention. The blockchain allows control over the transfer and ownership of cryptocurrency units. Cryptocurrency units can be of any size.
[0137] Cryptocurrency transactions can be executed in the following ways:
[0138] A method for transferring cryptocurrency, wherein each transaction of cryptocurrency units is completed by performing the following steps:
[0139] - Generates digital RGB images with RGB colors by scanning physical objects;
[0140] - Combine the first transaction data and the digital RGB image to generate an intermediate RGB image;
[0141] - Combine identity information and intermediate RGB image to generate an authentication image with additional RGB colors;
[0142] - Convert the color values of the certified image from the RGB color space to a secondary color space with at least four primary colors, and determine the number of pixels corresponding to each primary color in the secondary color space.
[0143] - A one-time verification number is generated by converting the determined number of pixels corresponding to each primary color in the secondary color space into hexadecimal numbers.
[0144] For information on generating digital RGB images, refer to the description of generating the first RGB image as detailed above or below.
[0145] The transfer of cryptocurrency may include generating at least one cryptocurrency unit, wherein the generation includes taking into account first transaction data to transfer the cryptocurrency.
[0146] The combination of the first transaction data and the digital RGB image may include determining the binary code of the digital RGB image. Determining the binary code of the digital RGB image may include converting the color value of each pixel of the digital RGB image into a hexadecimal number. For example, the conversion of color values to hexadecimal numbers may be performed using at least one mathematical algorithm and / or at least one predetermined relation (such as a lookup table), as described in “The Image-Interface: Graphical Supports for Visual Information”, Everardo Reyes-Garcia, John Wiley & Sons, 2017, ISBN 978-1-1194-7497-5. The determined hexadecimal numbers may be further converted into the binary code of the digital RGB image, for example, by using at least one mathematical algorithm and / or at least one predetermined relation (such as a lookup table), as described in “Improving Image Performance by Using Color Lookup Tables”, Adobe developer support, Technical Note #5121, 31 March 1992. The added binary code of the digital RGB image and the first transaction data may be converted into hexadecimal numbers, which can be converted into color values. For example, the conversion from hexadecimal numbers to color values can be performed using at least one mathematical algorithm and / or at least one predetermined relation (such as a lookup table), as described in "The Image-Interface: Graphical Supports for Visual Information", Everardo Reyes-Garcia, John Wiley & Sons, 2017, ISBN 978-1-1194-7497-5. An intermediate RGB image can be generated by using determined color values for corresponding image pixels. As used herein, the term "intermediate RGB image" is a broad term and should be given its common and conventional meaning by those skilled in the art, without limitation its specific or customary meaning. The term can specifically refer to, but is not limited to, digital images including transaction data, particularly digital RGB images.
[0147] As used herein, the term "identity information" is a broad term and should be given a common and conventional meaning by those skilled in the art, without limitation a specific or customized meaning. The term may specifically refer to, but is not limited to, any information that provides a unique identifier of the owner of value. Similarly, as used herein, the term "authentication image" is a broad term and should be given a common and conventional meaning by those skilled in the art, without limitation a specific or customized meaning. The term may specifically refer to, but is not limited to, digital images that include identity information, particularly digital RGB images.
[0148] The combination of identity information and the intermediate RGB image may include determining the binary code of the intermediate RGB image. Determining the binary code of the intermediate RGB image may include converting the color value of each pixel of the intermediate RGB image into a hexadecimal number. For example, the conversion of color values to hexadecimal numbers may be performed using at least one mathematical algorithm and / or at least one predetermined relation (such as a lookup table), as described in “The Image-Interface: Graphical Supports for Visual Information”, Everardo Reyes-Garcia, John Wiley & Sons, 2017, ISBN 978-1-1194-7497-5. The determined hexadecimal numbers can be further converted into binary code of the intermediate RGB image, for example, by using at least one mathematical algorithm and / or at least one predetermined relation (such as a lookup table), as described in "Improving Image Performance by Using Color Lookup Tables," Adobe developer support, Technical Note #5121, 31 March 1992. The binary code of the intermediate RGB image and the added identity information can be converted into hexadecimal numbers, which can then be converted into color values. For example, the conversion from hexadecimal numbers to color values can be performed using at least one mathematical algorithm and / or at least one predetermined relation (such as a lookup table), as described in "The Image-Interface: Graphical Supports for Visual Information," Everardo Reyes-Garcia, John Wiley & Sons, 2017, ISBN 978-1-1194-7497-5. An authentication image can be generated using determined color values for corresponding image pixels.
[0149] The authentication image can be digitally converted from RGB color space to a secondary color space. Preferably, the secondary color space is the CMYK color space, where the primary colors of the secondary color space are black, cyan, magenta, yellow, and white, where white refers to the absence of color on a white substrate. The conversion from RGB color space to secondary color space can be performed for each pixel of the authentication image. The conversion from RGB color space to secondary color space can be performed using at least one mathematical algorithm and / or at least one predetermined relation (such as a lookup table), for example, as described in patent US 5,283,671A or in "Schuleder Farben-Grundzüge der Farbentheorie fürComputeranwender und andere", Küp-pers, Harald, DuMont Buchverlag, 2. As described in Edition, ISBN 978-3-7701-2841-9, pages 125-134. Conversion from the RGB color space can be performed using at least one type of software, particularly software for printers that convert RGB colors.
[0150] The converted image can be further converted into a pattern. This pattern can be a grid. The pattern may include at least one matrix comprising rows and columns indicating the presence or absence of the primary color for each corresponding pixel. Further conversion, particularly rasterization, can be performed by printer software. Next, the colored points can be counted. Determining the number of pixels corresponding to each primary color in the secondary color space can include counting the colored points of the converted and rasterized image (particularly the matrix).
[0151] The defined number of pixels for each primary color can be converted to hexadecimal numbers. Specifically, the number of color dots is converted to hexadecimal numbers. The conversion from defined numbers to hexadecimal numbers to color values can be performed using at least one mathematical algorithm and / or at least one predetermined relation (such as a lookup table), as described, for example, in “The Image-Interface: Graphical Supports for Visual Information”, Everardo Reyes-Garcia, John Wiley & Sons, 2017, ISBN 978-1-1194-7497-5.
[0152] Generating a one-time verification number may involve converting a determined number of pixels corresponding to the color of each primary color in the secondary color space into a fixed-size hexadecimal value via a predefined formula. Specifically, the determined number of pixels for each primary color can be converted into a fixed-size value without decimal places. The predefined formula can be a logarithmic formula. The information of the count points can be converted into a fixed-size hexadecimal number via a logarithmic formula, which is necessary for hashing any transaction. The predefined mathematical formula for converting the determined number of pixels corresponding to the color of each primary color in the secondary color space into a fixed-size hexadecimal value can be “a + b * x + c * (x / 16) + d * 1000 * ln(x + 1)”, where “x” is the number of pixels for each primary color, and a, b, c, and d are parameters. For example, to generate a 4-digit hexadecimal number, the value of “a” can be 4096 in all the following cases: “b” is 1 when the sum of all pixels for each primary color is less than 60000, and “c” and d are parameters. "d" is 0; when the sum of all pixels for each primary color is between 60,000 and 950,000, "c" is 1, and "b" and "d" are 0. When the sum of all pixels for each primary color is greater than 950,000, "d" is 1, and "b" and "c" are 0. Therefore, the result calculated using the predefined formula can be rounded down to a complete hexadecimal number. For example, to generate hash values of a fixed size other than a 4-digit hexadecimal number, such as 3 or 10 digits, "a", "b", "c", and "d" can be adjusted accordingly.
[0153] As used herein, the term "one-time verification number" is a broad term and should be given its common and conventional meaning by those skilled in the art, without limitation its specific or customary meaning. The term may specifically refer to, but is not limited to, a number that can be used to verify a cryptocurrency unit, particularly for preventing counterfeiting. The generation of a cryptocurrency unit may include printing the cryptocurrency unit. The printed cryptocurrency unit may include a printout of an authentication image and a verification number. The one-time verification number can be extracted by scanning and decoding the authentication image. The extracted one-time verification number can be compared with the verification number on the printout. If they match, the cryptocurrency unit is verified. Because the image is linked to the one-time verification number stored in the blockchain, counterfeiting is impossible.
[0154] Transactions involving cryptocurrency units may include printing the cryptocurrency unit. Printing the cryptocurrency unit may include printing an authentication image on a substrate and printing a one-time verification hexadecimal number on the same substrate. The hexadecimal number can also be converted into a barcode or QR code for easy scanning. Printing can allow transaction data to be physically transferred from one node to another, such as with banknotes.
[0155] For the owner of cryptocurrency value to physically transfer cryptocurrency value from one node to another, an authentication image and a one-time verification number can be printed on the same substrate. If the printed cryptocurrency value has not been manipulated, verification can be performed by scanning the printed authentication image and determining the number of pixels correspondingly colored in the secondary color space on the substrate. This determination is done by converting the determined number of pixels individually colored for each primary color in the secondary color space into a hexadecimal number, and then comparing this hexadecimal number with the hexadecimal number printed on the substrate. For example, at one node, the number of pixels correspondingly colored in each primary color of the secondary color space (cmyk-“w”) of the authentication image can be determined by the scanning device, converted into a hexadecimal number, and compared with the one-time verification number (i.e., the hash value of the transaction). If the two hexadecimal numbers are the same, the authentication image is considered not to have been manipulated and the transaction can be processed, such as paying a certain amount of Euros. If the hexadecimal number of the scanned authentication image is the same as the hexadecimal number of the one-time verification number, the verification of the cryptocurrency value and the identity of the cryptocurrency value owner can be successful.
[0156] In another aspect of the invention, a cryptocurrency is disclosed. Each cryptocurrency unit is generated by performing the following steps:
[0157] - Generates digital RGB images with RGB colors by scanning physical objects;
[0158] - Combine the first transaction data and the digital RGB image to generate an intermediate RGB image;
[0159] - Combine identity information and intermediate RGB image to generate an authentication image with additional RGB colors;
[0160] - Convert the color values of the certified image from the RGB color space to a secondary color space with at least four primary colors, and determine the number of pixels corresponding to each primary color in the secondary color space.
[0161] - A one-time verification number is generated by converting the determined number of pixels corresponding to each primary color in the secondary color space into hexadecimal numbers.
[0162] For definitions and examples, refer to the methods for transferring cryptocurrency.
[0163] The generation of the cryptocurrency unit may include printing the cryptocurrency unit, wherein printing the cryptocurrency unit may include printing an authentication image on a substrate, and printing a hexadecimal number of a one-time verification number on the same substrate.
[0164] In another aspect of the invention, the use of the blockchain according to the invention is disclosed for trading cryptocurrencies such as the cryptocurrency according to the invention.
[0165] In summary, and without excluding other possible embodiments, the following embodiments are conceivable:
[0166] Example 1: A computer-implemented method for generating hash values, the method comprising the following steps:
[0167] i) Provide a first digital RGB image of the physical object having a first RGB color;
[0168] ii) Combine the first transaction data and the first digital RGB image to generate a second RGB image with a second RGB color;
[0169] iii) Convert the color values of the second RGB image from the RGB color space to a secondary color space with at least four primary colors, and determine the number of pixels corresponding to each primary color in the secondary color space;
[0170] iv) A hash value is generated by converting the determined number of pixels corresponding to each primary color in the secondary color space into hexadecimal numbers.
[0171] Example 2: According to the method described in the foregoing embodiments, providing a first digital RGB image includes blending and / or mixing pigments and scanning the blended and / or mixed pigments.
[0172] Example 3: The method according to any one of the foregoing examples, wherein the secondary color space is the CMYK color space, and the primary colors of the secondary color space are black, cyan, magenta, yellow and white.
[0173] Example 4: The method according to any one of the foregoing embodiments, wherein step i) includes generating digital image elements by adjusting the size of a first digital RGB image to a predefined size, wherein the size of the digital image elements is larger than the size of the first transaction data.
[0174] Example 5: According to any one of the foregoing embodiments, step ii) includes determining the binary code of the first digital RGB image and adding the binary code of the first transaction data to the binary code of the first digital RGB image, thereby generating a second digital RGB image with a second RGB color.
[0175] Example 6: The method according to any one of the foregoing embodiments, wherein step ii) includes mapping the first transaction data to a first digital RGB image.
[0176] Example 7: The method according to any one of the preceding embodiments, wherein generating a hash value includes converting a determined number of pixels corresponding to each primary color in the secondary color space into a fixed-size hexadecimal value via a predefined formula.
[0177] Example 8: The method according to any one of the foregoing embodiments, wherein the method includes printing transaction data on a substrate, printing a second RGB image on the substrate, and printing a hexadecimal number of a hash value on the same substrate, wherein the method includes verifying the printed transaction data by verifying the second RGB image.
[0178] Example 9: A computer-implemented method for generating a root hash, wherein the method includes determining a first hash value by using a method for generating hash values according to any of the foregoing embodiments, wherein generating the root hash includes the following steps:
[0179] a) Combine the second transaction data and the first digital RGB image to generate a third RGB image with a third RGB color;
[0180] b) Convert the color values of the third RGB image from the RGB color space to a secondary color space, and determine the number of pixels corresponding to each primary color in the secondary color space.
[0181] c) Generate additional hash values by converting the determined number of pixels corresponding to each primary color in the secondary color space into hexadecimal numbers.
[0182] d) Generate the root hash by aggregating the first hash value and the other hash values.
[0183] Example 10: According to the method described in the previous example, the method includes generating additional hash values for additional transaction data and generating a root hash by aggregating the hash values.
[0184] Example 11: A computer-implemented method for generating random numbers, the method comprising the following steps:
[0185] - Generates digital RGB images with RGB colors by scanning physical objects;
[0186] - Random numbers are generated by determining the binary code of a digital RGB image.
[0187] Example 12: A computer-implemented method for generating a blockchain, wherein the method includes generating a plurality of subsequent linked blocks of the blockchain, wherein the method includes generating a genesis block by generating a first digital RGB image with a first RGB color through scanning a physical object, wherein the method includes generating subsequent blocks by generating a second RGB image with a second RGB color by determining the binary code of the first digital RGB image and adding the binary code of the first digital RGB image to information to be mapped, wherein the process is repeated for each additional block until the blockchain is closed.
[0188] Example 13: According to the method described in the previous example, for each additional transaction group, the next subsequent block is generated by determining the binary code of the digital image of the previous block and adding additional information to be mapped to the binary code of the digital RGB image of the previous block to generate a next digital RGB image with additional RGB colors.
[0189] Example 14: The method according to any of the two foregoing embodiments, wherein the method includes determining a root hash for each generated block by using a method for generating a root hash according to any of the foregoing embodiments of the method for generating a root hash and adding the root hash to a block, wherein the method further includes determining a random number for each generated block by using a method for generating a random number according to any of the foregoing embodiments of the method for generating a random number and adding the random number to a block, wherein the method further includes adding a timestamp of the corresponding transaction to each of the generated blocks.
[0190] Example 15: The method according to any of the two foregoing embodiments, wherein the method includes adding the hash value of the previous block to each of the generated blocks.
[0191] Example 16: A digital image-based blockchain, wherein the blockchain comprises a plurality of linked blocks, wherein the blockchain is generated by using a method for generating a blockchain according to any of the foregoing embodiments relating to a method for generating a blockchain.
[0192] Example 17: A method for transferring cryptocurrency, wherein each transaction of a cryptocurrency unit is completed by performing the following steps:
[0193] - Generates digital RGB images with RGB colors by scanning physical objects;
[0194] - Combine the first transaction data and the digital RGB image to generate an intermediate RGB image;
[0195] - Combine identity information and intermediate RGB image to generate an authentication image with additional RGB colors;
[0196] - Convert the color values of the certified image from the RGB color space to a secondary color space with at least four primary colors, and determine the number of pixels corresponding to each primary color in the secondary color space.
[0197] - A one-time verification number is generated by converting the determined number of pixels corresponding to each primary color in the secondary color space into hexadecimal numbers.
[0198] Example 18: According to the method described in the previous embodiment, the transaction of the cryptocurrency unit includes printing the cryptocurrency unit, wherein printing the cryptocurrency unit includes printing an authentication image on a substrate and printing a hexadecimal number of a one-time verification number on the same substrate.
[0199] Example 19: A cryptocurrency, wherein each cryptocurrency unit is generated by performing the following steps:
[0200] - Generates digital RGB images with RGB colors by scanning physical objects;
[0201] - Combine the first transaction data and the digital RGB image to generate an intermediate RGB image;
[0202] - Combine identity information and intermediate RGB image to generate an authentication image with additional RGB colors;
[0203] - Convert the color values of the certified image from the RGB color space to a secondary color space with at least four primary colors, and determine the number of pixels corresponding to each primary color in the secondary color space.
[0204] - A one-time verification number is generated by converting the determined number of pixels corresponding to each primary color in the secondary color space into hexadecimal numbers.
[0205] Example 20: The cryptocurrency according to the previous example, wherein the cryptocurrency generation unit includes a cryptocurrency printing unit, wherein the cryptocurrency printing unit includes printing an authentication image on a substrate and printing a hexadecimal number of a one-time verification number on the same substrate.
[0206] Example 21: The use of the blockchain according to Example 16 for trading cryptocurrencies such as the cryptocurrency according to Example 19. Attached Figure Description
[0207] Preferably, in conjunction with the dependent claims, further optional features and embodiments will be disclosed in more detail in the following description of embodiments. These optional features can be implemented individually and in any feasible combination, as those skilled in the art will recognize. The scope of the invention is not limited to the preferred embodiments. Embodiments are schematically depicted in the accompanying drawings. In these drawings, the same reference numerals refer to the same or functionally equivalent elements.
[0208] In the diagram:
[0209] Figure 1A and Figure 1B An example of a method for generating hash values is shown;
[0210] Figure 2 An embodiment of a method for generating a root hash is shown;
[0211] Figure 3 Examples of methods for generating random numbers and blockchains are shown;
[0212] Figure 4 An example of blockchain is shown;
[0213] Figure 5 An embodiment of a cryptocurrency unit is shown; and
[0214] Figure 6 An embodiment of a method for generating cryptocurrency units is shown. Detailed Implementation
[0215] exist Figure 1A and 1B The diagram illustrates an embodiment of a computer implementation method for generating hash value 110. Typically, a hash function can be used to generate hash value 110. A hash function can be any function that can be used to map data of arbitrary size to a fixed-size value. The value returned by the hash function is called a hash value. Hash value 110 uniquely represents a fixed-length numerical value of data.
[0216] like Figure 1A As shown, the method includes the following steps:
[0217] i) Provide a first digital RGB image 112 with a first RGB color for physical object 114;
[0218] ii) Combine the first transaction data 116 and the first digital RGB image 112 to generate a second RGB image 118 with a second RGB color.
[0219] A digital image can be a two-dimensional representation of a physical object 114. A digital RGB image can be a color digital image with three color channels: one for red (R), one for green (G), and one for blue (B). The primary colors of a digital RGB image can be red, green, and blue. An RGB digital image can have color channels for each primary color. A digital color image can include multiple image pixels, where each image pixel is composed of a combination of primary colors. For example, a digital RGB image can be 24-bit or 48-bit. Each pixel of a digital RGB image can be specified by two spatial coordinates and three color values.
[0220] Providing the first digital RGB image 112 may include generating the first digital image 112 or obtaining the first digital RGB image 112 of the physical object 114 from a database (such as from a physical object 114 like a painting, building, plant, etc.).
[0221] Preferably, the first digital RGB image 112 can be generated by digital scanning 120 of a physical object 114. The physical object 114 can be any physical object. For example, the physical object 114 can be a blend, a painting, a building, a plant, etc.
[0222] Specifically, providing the first digital RGB image 112 may include mixing 122 pigments and scanning 120 the mixed pigments. The method may include using a blending device 124 to blend at least two materials according to at least one blending information item, thereby generating at least one blend.
[0223] The material can be a chemical element or compound, specifically a chemical element or compound that is miscible with other chemical elements or compounds. The material is specifically suitable for casting. The material can generally be one or more of the following: solid (specifically granular solid), liquid, or gaseous. Specifically, the material can be or may include at least one of powder or liquid. The material can be a homogeneous, monolithic material. Alternatively, the material may also include multiple components that are homogeneously or non-homogeneously mixed. Therefore, the material itself can be a mixture or a complex. As an example, the material can be or may include a liquid, wherein the liquid, for example, includes at least one solvent and at least one compound dissolved, emulsified, or dispersed in the at least one solvent. The solvent can form part of the material, or alternatively, at least one compound can be considered as the material, while the solvent can simply be considered as an adjunct or additive to the material.
[0224] Blending may include a process of mixing 122 at least two materials in a defined manner to produce a blend. Depending on the properties of the at least two materials, mixing 122 may occur in various ways. As an example, when the at least two materials comprise powders, mixing 122 may include co-dispensing or subsequently dispensing the powder into a common container, including the option of stirring the mixture. Alternatively or additionally, when the at least two materials comprise liquids, mixing 122 may also involve co-dispensing or subsequently dispensing the liquid into a common container, including the option of stirring the mixture. Alternatively or additionally, mixing 122 may also include a printing process, such as inkjet printing the at least two materials onto, for example, a common substrate. Alternatively or additionally, blending may include other types of mixing processes 122 for the at least two materials, such as mixing 122 at least two materials on at least one common substrate. As an example, blending may include one or more electrostatic deposition processes, such as electrostatic deposition of the at least two materials onto, for example, a common substrate, or onto a statically charged surface. Therefore, specifically, blending and / or mixing 122 may include electrostatic deposition during a printing process. For example, blending and / or mixing 122 may include electrostatic deposition during a printing process in which at least two electrostatically charged materials are printed onto an electrostatically neutralized surface. Thus, the materials can be mixed, thereby at least temporarily altering their charge. Specifically, blending and / or mixing may include electrostatic deposition during laser printing processes, such as those typically performed in laser printers. In particular, at least two materials, such as pigments, may, for example, first become electrostatically charged and deposited on an image roller carrying the same charge, where specific areas have been electrostatically neutralized, for example, by using a laser and / or LED. For example, these deposited materials can then be pulled out and / or removed from the image roller by a substrate with an opposite charge, such as by paper with an opposite charge.
[0225] Blending can leave materials unchanged, or it can completely or partially alter their properties. Thus, as an example, materials 122 can be simply mixed without any chemical change. Alternatively, materials 122 can be mixed to alter their chemical properties. The latter can specifically occur when the materials contain a solvent, which may completely or partially evaporate during or after blending. Furthermore, alternatively, materials can also react completely or partially with each other to produce at least one reaction product.
[0226] The blend can be a mixture of at least two materials. Specifically, the mixture can be present in at least one container and / or on at least one substrate. The mixture can generally be one or more of a solid (specifically granular solid), liquid, or gaseous state. Specifically, the mixture can be or may include at least one of a powder or liquid. The mixture can be in the same state as the materials or can be in a different state. As an example, at least one material can be in a liquid state, where the mixture can also be in a solid state, for example, after a drying process. Therefore, as an example, at least two materials can be mixed in a liquid state during the blending process, where drying can then be performed to evaporate at least one solvent and / or thereby change the chemical properties of the mixed materials. As an example, the blending process can mean printing at least two liquid materials onto at least one substrate, followed by a drying or solidification process, where the blend can therefore be in a dry state or a solid state. Other examples may imply phase change processes, such as curing or solidification of the mixed materials.
[0227] The blending information item can be at least one information item describing a defined blending process. This at least one blending information item can refer to the blending process itself, such as the manner in which at least two materials are blended, for example, process parameters of blending process 122. Alternatively, the at least one blending information item can also refer to the materials used for blending, such as the amount to be blended during the blending process, for example, the mass or volume of the material.
[0228] The blending apparatus 124 may be configured to perform the above-described mixing process. Specifically, as will be further described in detail below, the blending apparatus 124 may include at least one of a feeder or reservoir for each of the materials. The blending apparatus 124 may also include at least one blending element, such as at least one of a nozzle, a stirring device, a printer, a mixer, etc.
[0229] The blend can be a mixture of at least two materials. Specifically, the blend can exist on a substrate or in a container. Specifically, the blend can contain a limited amount of material.
[0230] Providing the first digital RGB image 112 may include detecting at least one material property of the blend using at least one detector not shown herein. The material property can be any property of the material (such as the blend). Specifically, the property may refer to one or more of physical, chemical, or biological properties. More specifically, the material property may include at least one of the mechanical or optical properties of the material. The material property may specifically refer to a measurable property of the corresponding material. More specifically, the at least one material property may be or may include at least one color of the blend. Alternatively or alternatively, the at least one property may be selected from the group consisting of: the specific density of the blend; the volume of the blend; the weight of the blend; the optical properties of the blend; the spectral (specifically, the chromatographic) composition of the blend; the color intensity of the blend; and the viscosity of the blend. Other material properties may be used alternatively or additionally.
[0231] The step of detecting at least one material property of a mixture may specifically include generating at least one measurement information item regarding the material property. Therefore, the at least one measurement information item may generally refer to the result of a measurement of at least one material property, such as at least one numerical measurement value indicating at least one material property of the blend or a characteristic of at least one material property of the blend. Thus, as an example, the at least one measurement information item may include, for example, at least one of the following: a specific density measurement of the blend; a volume measurement of the blend; a weight measurement of the blend; an optical property measurement of the blend; a color measurement of the blend; a spectral composition measurement of the blend, specifically a chromatographic measurement of the blend; a color intensity measurement of the blend; and a viscosity measurement of the blend. As an example, these measurements may each be or may include a single number or multiple numbers, such as distribution, spectrum, etc. Specifically, the at least one measurement information item may be or may include at least one numerical value, such as a numerical value.
[0232] The detection may include generating information about a characteristic or measurable variable, wherein qualitative and / or quantitative information may be obtained. Specifically, the detection may include measuring at least one measurable variable of the physical object 114. A detector may be configured to perform the detection process. The detector may have at least one sensor for measuring at least one measurable variable of the object 114. As an example, the sensor may include one or more of the following: a weight sensor, specifically a scale; a volume sensor; a density sensor; a color sensor; a particle size distribution sensor. Other sensors may be used additionally or alternatively.
[0233] At least one blending information item may specifically include n blending variables, where n represents a positive integer. Blending variables may be variables that quantitatively or qualitatively describe at least one aspect or parameter of the blend. As an example, blending variables may refer to at least two materials to detect the blending process, such as the amount of mixture or material flow. Furthermore, m material properties of the blend may be detected, where m is a positive integer. Specifically, the number of detected material properties m may be as large as or greater than the number of blending variables n. In other words, preferably, m ≥ n. In other words, specifically, the information generated by the detection may be at least as large as the information used to generate the blend, where the information may refer to the numbers n and m respectively, and / or may generally refer to the number of degrees of freedom and / or the logarithm of the degrees of freedom, such as log n or log m respectively.
[0234] The at least two materials blended may specifically be different materials, specifically differing in relation to at least one property selected from the group consisting of: chemical properties, specifically chemical composition; optical properties, specifically optical appearance, such as one or more of color, transparency, and brightness; mechanical properties, specifically one or more of particle size, particle size, density, viscosity, or flow properties; electrostatic charge-carrying capacity; compressibility; crystallinity; and particle shape. Furthermore, other properties may be used additionally or alternatively.
[0235] Specifically, the at least two materials may include bulk materials and / or loose materials. Each of the at least two materials is independently selected from the group consisting of solid materials, gaseous materials, and liquid materials. More specifically, the at least two materials may be independently selected from the group consisting of and / or may include at least two materials selected from the group consisting of:
[0236] - Powder, specifically powder selected from the group consisting of:
[0237] • Inorganic powder, specifically inorganic powder made from minerals;
[0238] • Organic powder, specifically organic powder made from polymers;
[0239] ·pigment;
[0240] - Liquid, specifically a liquid selected from the group consisting of pure liquids, suspensions, emulsions or solutions, and more specifically one or more of liquid pigments and inks.
[0241] The blending of at least two materials can be performed based on at least one blending information item. Specifically, the at least one blending information item may include at least one of the following: the amount of the at least two materials to be blended; the weight of the at least two materials to be blended; the volume of the at least two materials to be blended; the blending volume ratio of the at least two materials to be blended; the blending weight ratio of the at least two materials to be blended; a blending instruction for mixing two or more continuous or discontinuous streams of the at least two materials to be blended; or a printing instruction for blending the at least two materials to be blended, such as tilt information for blending the at least two materials to be blended using raster images with different tilts (e.g., raster images generated by the printer's raster image processor (RIP)). Furthermore, other types of blending information may also be used, either additionally or alternatively.
[0242] At least two materials can be fed into the blending apparatus 124 continuously or discontinuously. Thus, as an example, the blending apparatus 124 may include at least two reservoirs for the at least two materials to be blended. However, alternatively, other methods of feeding materials into at least one blending apparatus 124 are also possible. Thus, as an example, continuous feeding is possible, in addition to using at least one reservoir for at least one of the materials, or alternatively.
[0243] The blending apparatus 124 may further include at least one receiving element for receiving a blend (not shown here). The receiving element can be any element configured to receive the blend. Specifically, the receiving element may have at least one receiving surface for receiving the blend and / or at least one receiving material. Thus, by way of example, the at least one receiving element may specifically include at least one element selected from the group consisting of: a receiving container for receiving the blend; a substrate for receiving the blend. The at least one receiving element may be a fixed receiving element and / or a movable receiving element, such as a rotatable receiving element. By way of example, the receiving element may include at least one substrate, such as a substrate having at least one substrate surface, which may be or may include a planar substrate surface and / or may be or may include a curved substrate surface. By way of example, the receiving element may include at least one drum, such as a rotary drum, having a receiving surface for receiving the blend. By using the blending apparatus, the blend may be deposited directly or indirectly onto the rotary drum. By way of example, a drum may be used to temporarily fix (e.g., electrostatically fix) the blend thereon. Such electrostatic drums are well known in the field of printing technology (such as laser printing).
[0244] In cases where the receiving element includes at least one drum, the drum may specifically be a rotating drum. The method may further include at least one cleaning step in which, after detecting at least one material property, the blend may be specifically removed from the receiving surface of the drum. As an example, powder and / or pigment may be dispensed onto the rotating drum, and as an example, may be temporarily fixed to the surface of the rotating drum by electrostatic force. During the period when the blend is fixed to the surface of the rotating drum, at least one material property of the blend on the surface may be detected, for example, by optical reading. As an example and as will be further detailed below, color may be detected, and subsequently, as an example, may be converted into binary information, such as a binary number line. The drum may then be cleaned, such as by rotating it to a cleaning position, for example, by rotating the drum 90°.
[0245] A similar process can also be performed by inkjet printing directly on the surface of the drum and / or on a moving substrate (such as a paper substrate), optionally without electrostatic fixation. After at least one property is detected, the drum can be cleaned for reuse. Thus, as an example, the blending apparatus may include at least one inkjet printer. The material may be or may include inkjet printing of the material (which may be or may include a liquid material) onto at least one receiving element, such as onto at least one rotating drum and / or onto at least one substrate. Subsequently, at least one material property (such as at least one optical property) may be detected, for example, by optical reading. As an example, color may be detected again, and subsequently, as an example, may be converted into binary information, such as binary number lines. The drum may then be cleaned, such as by rotating to a cleaning position, for example, by rotating the drum 90°. Alternatively or additionally, in addition to cleaning at least one receiving element, a new receiving element or a new portion of the receiving element may be used for further steps, such as for further printing and for repeated blending and detection.
[0246] The blending apparatus 124 may specifically include at least one blending element for generating a blend, not shown herein. The blending element may include any element, apparatus, or combination of elements configured to blend at least two materials, for example, before, during, or after deposition onto at least one optional receiving element, specifically by mixing 122 with at least two materials. As an example, the at least one blending element may be or may include at least one element selected from the group consisting of: a dispenser for continuously or discontinuously dispensing at least one of two materials; a printer for printing at least two materials onto at least one receiving element, specifically onto at least one substrate, specifically at least one printer selected from the group consisting of: an inkjet printer, a laser printer. Furthermore, other types of blending elements may be used additionally or alternatively. Therefore, as an example, the blending element may be or may include at least one of a stirring element, a dispenser, a nozzle, and an extruder.
[0247] The blending device 124 may be or may include at least one printer, not shown herein. The printer is configured to receive at least one blending information item and to blend the blend. Based on at least one printer control information, the printer may be configured to specifically apply (e.g., print) at least one material onto at least one printing surface or substrate in a patterned manner. Therefore, the printer may generally be configured to generate text and / or images, such as strings, bitmap images, vector images, or computer programs (e.g., provided in at least one printer control language), on at least one printing surface based on at least one printer control information. In particular, the printer (specifically at least one function of the printer) may be controlled via at least one printer control language, such as one or more Page Description Languages (PDLs), Printer Command Languages (PCLs), PostScript, XML paper specifications, etc.
[0248] Specifically, the printer may include one or more drums, such as an image drum; a laser; a lens system, such as a lens system including at least one mirror (e.g., a rotatable mirror); a cleaning element, such as a roller, a scraper, or a similar device for cleaning, for example for cleaning the drum; a cartridge, such as a paper tray, for storing one or more substrates; at least one conveying element, such as a roller and / or a conveyor, for feeding, conveying, and / or ejecting substrates (specifically paper) into, into, and / or out of the printer; and a printer control unit configured to control the printer.
[0249] The printer can be specifically configured to blend at least two materials onto at least one substrate according to at least one blending information item. Specifically, the printer can be configured to blend at least two materials according to the blending information item, thereby generating the blend, for example, on a substrate for receiving the blend. The substrate can specifically be or may include at least one carrier medium, such as a carrier medium selected from the group consisting of: glass carriers, such as glass plates or sheets; plastic carriers, such as plastic plates or sheets; paper carriers, such as paper; canvas. Other substrates may be feasible. As an example, the substrate can be part of the printer itself or can be embedded within the printer. In particular, the substrate included by the printer can be a reusable carrier medium, such as a medium with a cleanable surface, such as a printer drum, for example, a rotary drum.
[0250] The printer can be further configured to blend at least two materials, such that at least one pattern is generated, specifically at least one interference pattern. The at least two materials to be blended by the printer can be, in particular, different materials, specifically materials differing in at least one property. As an example, the at least two materials to be blended by the printer can differ in at least one property selected from the group consisting of: chemical properties, specifically chemical composition; optical properties, specifically optical appearance, such as one or more of color, transparency, and brightness; mechanical properties, specifically one or more of particle size, particle size, density, viscosity, or flow properties; electrostatic charge carrying capacity; compressibility; crystallinity; and particle shape.
[0251] The method may include converting detected material properties into RGB values for generating a first digital RGB image 112. The conversion can be performed using at least one data processing device configured to apply at least one transformation algorithm to the material properties. The conversion of at least one material property into RGB values can be computer-implemented. Therefore, the conversion of at least one material property into RGB values is performed using at least one data processing device configured to apply at least one transformation algorithm to the material properties. The algorithm may include multiple process steps subsequently and / or executed in parallel. Specifically, the algorithm may include one or more mathematical operations to be applied to at least one input variable. The transformation algorithm may be an algorithm that performs the transformation process of converting material properties into RGB values by using one or more mathematical operations applied to at least one input variable. The transformation of material properties to RGB values may be performed in a single step or in multiple steps.
[0252] Converting a material property to RGB values may include subjecting at least one material property to at least one test, specifically at least one predetermined test. This at least one test may be, or may include, comparing the at least one material property directly or indirectly to at least one comparison value, at least one range of comparison values, etc., using at least one measurement information item. Other mathematical tests are generally feasible and may also be applied. Based on the results of the at least one test, RGB values can be generated. Specifically, converting a material property to RGB values may include comparing at least one material property (including the option of using at least one measurement information item representing the material property) to at least one threshold. Based on the result of this comparison, at least one number may be assigned to the material property for each primary color.
[0253] Preferably, the first digital RGB image 112 can be generated by scanning 120, particularly digitally scanning the blend or at least the region of interest of the blend. The digital scan can be performed using at least one scanning device. The scanning device can be configured to detect at least one property of at least one object and / or element (e.g., the blend). In particular, the scanning device can be configured to examine and / or detect at least one material property of the blend. As an example, the scanning device can have at least one scanning element configured to optically record and / or capture one-dimensional, two-dimensional, or even three-dimensional optical information about the blend with spatial resolution. Thus, for example, for optical detection, the scanning device can include at least one sensor, such as an optical sensor, specifically an image sensor, such as at least one photocapacitor, at least one charge-coupled device (CCD). The scanning device can include, for example, at least one CCD chip and / or at least one CMOS chip. Specifically, the scanning device can be configured to detect light signals of the blend (e.g., blended and / or combined powder components) by using an optical system. Specifically, the scanning system can be configured to convert (e.g., decompose) the light signal of the blend into primary colors, such as red, green, and blue, for example, by using a prism. The scanning device can be specifically configured to convert the light signal (such as the light signal converted into primary colors) into at least one digital image, for example, by using at least one sensor (such as a sensor including multiple photocapacitors). Furthermore, the scanning device may include at least one illumination element, such as an element configured to illuminate the blend, wherein the scanning device can be configured to detect at least one property of the blend by using reflection from the blend. Here, the scanning device may also be referred to as a scanner. The scanning device can specifically be or may include devices selected from the group consisting of: CCD scanners; CIS scanners; cameras; film. Specifically, the scanning device may include at least one optical detection system, specifically including one or more of an optical detector, an image sensor (e.g., a photomultiplier tube (PMT) such as a vacuum tube that converts incident photons into electrical signals, or a silicon photomultiplier tube (SiPM) such as a solid-state device that converts incident photons into electrical signals). The scanning device may specifically include at least one processor, wherein the processor can be configured to control at least one scanning operation of the scanning device.
[0254] Step i) may include generating a digital image element 126 by resizing the first digital RGB image 112 to a predefined size. The size of the digital image element 126 may be larger than the size of the first transaction data 116. The digital image element 126 may be a portion or crop of the first digital RGB image. Resizing may include adjusting and / or selecting and / or shrinking and / or cropping the entire first digital RGB image 112 into a digital image element 126 that includes the region of interest.
[0255] Transactions may include financial transactions such as payments, licenses, orders, and invoices, and / or logistical transactions such as deliveries, storage records, and travel records, and / or transactions related to plans and / or tax declarations and / or contracts and / or personal health information. Transaction data 116 may be data describing at least one transaction. Transaction data 116 may include one or more of the following information: transaction time, transaction value, transaction text, digital image of the transaction, etc. Transaction data may be provided in binary format.
[0256] The process of combining the first transaction data 116 and the first digital RGB image 112 may include adding and / or mapping data to pixel information of the first digital RGB image 112. Specifically, combining the first transaction data 116 and the first digital RGB image 112 may include adding the binary code of the first transaction data 116 to the binary code of the first digital RGB image 112. In particular, step ii) includes determining the binary code of the first digital RGB image 112 and adding the binary code of the first transaction data 116 to the binary code of the first digital RGB image 112. Combining may include mapping the transaction data to digital image elements. The vector of color position remains unchanged.
[0257] The combination can be performed as follows. The color value of each pixel of the first digital RGB image 112 can be converted into a hexadecimal number. For example, the conversion of color values to hexadecimal numbers can be performed using at least one mathematical algorithm and / or at least one predetermined relation (such as a lookup table), as described in "The Image-Interface: Graphical Supports for Visual Information", Everardo Reyes-Garcia, John Wiley & Sons, 2017, ISBN 978-1-1194-7497-5. The hexadecimal numbers can be further converted into binary code of the first digital RGB image 112, for example, by using at least one mathematical algorithm and / or at least one predetermined relation (such as a lookup table), as described in "Improving Image Performance by Using Color Lookup Tables", Adobe developer support, Technical Note #5121, 31 March 1992.
[0258] Binary codes for the first digital RGB image 112 and the first transaction data 116 can be added. Figure 1AThe diagram illustrates exemplary binary code for a first digital RGB image 112 and first transaction data 116, and also shows the result of adding binary code. The added binary code can be converted into hexadecimal numbers, which can then be converted into color values. For example, the conversion from hexadecimal numbers to color values can be performed using at least one mathematical algorithm and / or at least one predetermined relation (such as a lookup table), as described in "The Image-Interface: Graphical Supports for Visual Information", Everardo Reyes-Garcia, John Wiley & Sons, 2017, ISBN 978-1-1194-7497-5. A second RGB image 118 can be generated using determined color values for corresponding image pixels. The second RGB image 118 can be a second digital RGB image. The second RGB image 118 may differ from the first digital RGB image. In particular, pixels of the first digital RGB image 112 and the second RGB image 118 have different color values.
[0259] like Figure 1B As shown, the method 110 for generating hash value 110 further includes the following steps:
[0260] iii) Convert the color values of the second RGB image 118 from the RGB color space 130 to a secondary color space 132 with at least four primary colors, and determine 134 the number of pixels corresponding to each primary color in the secondary color space 132.
[0261] iv) Generate the 136 hash value 110 by converting the determined number of pixels correspondingly colored for each primary color in the secondary color space 132 into hexadecimal numbers.
[0262] The second RGB image 118 can be digitally converted from RGB color space 128 to a secondary color space 132. The secondary color space 132 can be any color space with a suitable number of primary colors (i.e., at least four primary colors). Preferably, the secondary color space 132 is a CMYK color space, where the primary colors are black, cyan, magenta, yellow, and white, where white refers to the absence of color on a white substrate. The conversion 128 from RGB color space 130 to secondary color space 132 can be performed on each pixel of the second RGB image 118. The conversion 128 from the RGB color space 130 to the secondary color space 132 can be performed using at least one mathematical algorithm and / or at least one predetermined relation (such as a lookup table), for example, as in the conversion from the RGB color space to the CMYK color space in US 5,283,671 A or in "Schuleder Farben-Grundzüge der Farbentheorie für Computeranwender und andere", Küppers, Harald, DuMontBuchverlag, 2. As described in Edition, ISBN 978-3-7701-2841-9, pages 125-134. The conversion 128 from the RGB color space 130 can be performed using at least one type of software, particularly software for printers that convert RGB colors.
[0263] The converted image can be further converted into pattern 138. Pattern 138 can be a grid. Pattern 138 can include at least one matrix comprising rows and columns indicating the presence or absence of the primary color for each corresponding pixel. Further conversion, particularly rasterization, can be performed by printer software. Next, the colored points can be counted. Determining the number of pixels corresponding to each primary color in the 134-secondary color space can include counting the colored points of the converted and rasterized image (particularly the matrix). Figure 1BAn example of counting points is shown. In this example, 921,876 black dots, 1,167,419 white dots, 1,734,795 cyan dots, 756,234 magenta dots, and 9,247,598 yellow dots are counted. The determined number of pixels for each primary color can be converted to hexadecimal numbers. Specifically, the number of color dots is converted to hexadecimal numbers. The conversion from determined numbers to hexadecimal numbers to color values can be performed using at least one mathematical algorithm and / or at least one predetermined relation (such as a lookup table), as described in "Improving Image Performance by Using Color LookupTables", Adobe developer support, Technical Note #5121, 31 March 1992.
[0264] Generating hash value 110 may include converting a determined number of pixels individually colored for each primary color of the secondary color space 132 into a fixed-size hexadecimal value via a predefined formula. Specifically, the determined number of pixels for each primary color may be converted into a fixed-size value without decimal places. The predefined formula may be a logarithmic formula. The information of the count points may be converted into a fixed-size hexadecimal number via a logarithmic formula, which is necessary for hashing any transaction. The predefined mathematical formula for converting the determined number of pixels correspondingly colored for each primary color of the secondary color space into a fixed-size hexadecimal value may be a + b * x + c * (x / 16) + d * 1000 * ln(x + 1), where "x" is the number of pixels for each primary color, and a, b, c, and d are parameters. For example, to generate a 4-digit hexadecimal number, the value of "a" can be 4096 in all the following cases: when the sum of all pixels for each primary color is less than 60000, "b" is 1, and "c" and "d" are 0; when the sum of all pixels for each primary color is between 60000 and 950000, "c" is 1, and "b" and "d" are 0; when the sum of all pixels for each primary color is greater than 950000, "d" is 1, and "b" and "c" are 0. Therefore, the result calculated using a predefined formula can be rounded down to a complete hexadecimal number. For example, to generate hash values of other fixed sizes besides a 4-digit hexadecimal number, such as 3 or 10 digits, "a", "b", "c", and "d" can be adjusted accordingly.
[0265] Since this method describes two-dimensional information (i.e., digital images) as one-dimensional values (hexadecimal numbers), it meets the requirements of a cryptographic hash function. Due to the large amount of color information, the risk of hash collisions should be very low. Specifically, hash values are generated using a first digital RGB image of a blend of locally generated mixed pigments, making it impossible to trace the hash generation of billions of particles. Furthermore, the hash values are very secure due to the large number of possible colors for each pixel and each element in the image. The number of possible colors can depend on the image size and the scanner's resolution. Therefore, given increasing camera resolution, the number of possible colors may even increase in the future.
[0266] Figure 2 An embodiment of a computer implementation method for generating a root hash is shown. This method may include generating a hash tree, also referred to as a Merkle tree. Typically, a hash tree has leaves that serve as hashes. A hash tree may have multiple hashes. The root hash may be the top of the hash tree, also referred to as the main hash.
[0267] The method includes using the invention to generate, as about Figure 1A and 1B The method described above is used to determine the first hash value 110.
[0268] The generation of the root hash includes the following steps:
[0269] a) Combine the second transaction data 139 and the first digital RGB image to generate a third RGB image 140 with a third RGB color;
[0270] b) Convert the color values of the third RGB image 140 from the RGB color space 130 to the secondary color space 132, and determine the number of pixels corresponding to each primary color in the secondary color space 132.
[0271] c) Generate an additional hash value 142 by converting the determined number of pixels correspondingly colored for each primary color in the secondary color space 132 into hexadecimal numbers.
[0272] d) Generate 144 root hashes by aggregating the first hash value 110 and another hash value 142.
[0273] The combination of the second transaction data 139 and the first digital RGB image 112 can be performed similarly to the combination of the first transaction data 116 and the first digital RGB image 112. Since the second transaction data 139 is different from the first transaction data 116, the third RGB image 140 has different RGB color values than the second RGB image 118.
[0274] The conversion 128 from the color values of the third RGB image 140 to the secondary color space 132 can be performed similarly to the conversion from the second RGB image to the secondary color space. The generation of the additional hash value 142 can be performed similarly to the generation of the first hash value 110. Figure 2 As shown, the counted color dots are... Figure 1B The color dots used for counting are different. For Figure 2 The second transaction data 139 in the data counts 546,876 black dots, 267,419 white dots, 5,734,795 cyan dots, 256,234 magenta dots, and 1,247,598 yellow dots.
[0275] Therefore, in principle, in steps a) to c), the process for the second transaction data 139 is repeated as per the above. Figure 1A and Figure 1B The hash routine according to the method of the present invention for generating hash values. Since the second transaction data 139 is different from the first transaction data 116, the third RGB image 140 has different RGB color values than the second RGB image 118, so that the resulting additional hash value 142 is different from the first hash value.
[0276] Step d) involves generating 144 root hashes by aggregating the first hash value 110 and the additional hash value 142. Techniques for aggregating the first hash value 110 and the additional hash value 142 into a root hash are known to those skilled in the art. For example, the first hash value 110 and the additional hash value 142 can be added together.
[0277] This method can be repeated. Specifically, the method may include generating additional hash values for additional transaction data and generating a root hash by aggregating the hash values.
[0278] Figure 3 An embodiment of a method for generating random numbers and for generating blockchain 146 is shown. The random number can be any number that can only be used once (one-dimensional). The method includes the following steps:
[0279] - Generate a digital RGB image 148 with RGB colors by scanning physical object 114;
[0280] - Generate random numbers by determining the binary code of a 148-bit digital RGB image.
[0281] For information on generating a 148-bit digital RGB image, please refer to the following: Figure 1A The description of generating the first RGB image 112 is described in the document.
[0282] Determining the binary code of a digital RGB image may include converting the color value of each pixel of the 148-pixel digital RGB image into a hexadecimal number. For example, the conversion of color values to hexadecimal numbers can be performed using at least one mathematical algorithm and / or at least one predetermined relation (such as a lookup table), as described in “The Image-Interface: Graphical Supports for Visual Information”, Everardo Reyes-Garcia, John Wiley & Sons, 2017, ISBN 978-1-1194-7497-5. The hexadecimal numbers can be further converted into the binary code of the 148-pixel digital RGB image, for example, by using at least one mathematical algorithm and / or at least one predetermined relation (such as a lookup table), as described in “Improving Image Performance by Using Color Lookup Tables”, Adobe developer support, Technical Note #5121, 31 March 1992. The random number can be the code for the RGB colors, but not the code for the image vector. Figure 3 As an example, the following random number is shown: 10110100001101.
[0283] In addition Figure 3 The image illustrates an embodiment of a method for generating blockchain 146. This method includes generating multiple subsequently linked blocks 150 of blockchain 146. Blocks 150 may be components or elements of blockchain 146. Blockchain 146 may include an ever-growing list of records referred to as blocks 150; for further details see 2017 IEEE 6th International Congress on Big Data, “An Overview of Blockchain Technology: Architecture, Consensus, and Future Trends”, Zibin Zheng et al., or “Blockchain: Grundlagen, Anwendungsszenarien und Nutzungspotenziale”, Hans-Georg Fill, Andreas Meier, Springer Vieweg, 2020 ISBN 978-3-658-28005-5, pages 3-19. Each block 150 may include transaction data. Blocks may be linked by including the hash of the previous block. Each block may include the cryptographic hash of the previous block. Each block may further include a timestamp.
[0284] The method includes generating a genesis block 152 by scanning a physical object 114 to generate a first digital RGB image 112 with a first RGB color, wherein the first digital RGB image 112 corresponds to a digital RGB image 148 in this embodiment. The genesis block may be the first block or block 0 of the blockchain 146.
[0285] The method includes generating a subsequent block 154 by determining the binary code of a first digital RGB image 112 and adding the binary code of the first digital image 112 to the information to be mapped, thereby generating a second RGB image (118) with a second RGB color. This process is repeated for each additional block 156 until the blockchain 146 is closed.
[0286] As outlined above, this method can be repeated. For example, the method may include generating a third block, namely block 156, by determining the binary code of a second digital RGB image and adding the binary code of the second RGB image to additional information to be mapped, thereby generating a third digital RGB image with a third RGB color. Blockchain 146 may include multiple blocks, such as three, four, five, ten, twenty, or more blocks.
[0287] Determining the binary code of the first digital RGB image 112 may include converting the color value of each pixel of the first digital RGB image 112 into a hexadecimal number. For example, the conversion of color values to hexadecimal numbers may be performed using at least one mathematical algorithm and / or at least one predetermined relation (such as a lookup table), as described in “The Image-Interface: Graphical Supports for Visual Information”, Everardo Reyes-Garcia, John Wiley & Sons, 2017, ISBN 978-1-1194-7497-5. The hexadecimal numbers may be further converted into the binary code of the first digital RGB image 112, for example, by using at least one mathematical algorithm and / or at least one predetermined relation (such as a lookup table), as described in “Improving Image Performance by Using Color Lookup Tables”, Adobe developer support, Technical Note #5121, 31 March 1992.
[0288] The information to be mapped can be, or may include, any kind of information or data to be stored in the block. For example, the information to be mapped includes one or more of transaction data, root hash, random number, previous hash value, and timestamp. The method may include determining the root hash for each generated block using the method for generating root hash according to the invention and adding the root hash to the block. The method may include determining a random number for each generated block using the method for generating random number according to the invention and adding the random number to the block. The method may include adding the timestamp of the corresponding transaction to each of the generated blocks. The method may include adding the hash value of the previous block to each of the generated blocks. The hash value can be determined using the method for generating hash value according to the invention. The information to be mapped may exist in binary format, particularly as binary code. Figure 3 In order to generate block 154, the information to be mapped can be information_1 and can be given in binary format; in this case, it is 10100001111001. This information is added to the binary code of the first digital RGB image 113, which is represented as "picture of block_0", in this example, it is 10110100001101 (the same as the random number).
[0289] The first digital RGB image 112 and the added binary code of the information to be mapped are in Figure 3The image is shown in “Block_1 Image”. The first digital RGB image 112 and the added binary code of the information to be mapped can be converted into hexadecimal numbers, which can then be converted into color values. The conversion from binary code to hexadecimal numbers can be performed, for example, by using at least one mathematical algorithm and / or at least one predetermined relation (such as a lookup table), as described in “Improving Image Performance by Using Color Lookup Tables”, Adobe developer support, Technical Note #5121, 31 March 1992. For example, the conversion from hexadecimal numbers to color values can be performed using at least one mathematical algorithm and / or at least one predetermined relation (such as a lookup table), as described in “The Image-Interface: Graphical Supports for Visual Information”, Everardo Reyes-Garcia, John Wiley & Sons, 2017, ISBN 978-1-1194-7497-5. The second RGB image can be a second digital RGB image. The second RGB image may be different from the first digital RGB image. Specifically, the pixels of the first digital RGB image and the second RGB image have different color values.
[0290] For each additional set of transactions, the next subsequent block 156 can be generated by determining the binary code of the previous block's digital image and adding additional information to be mapped to the binary code of the previous block's digital RGB image, thus generating a next digital RGB image with different RGB colors. The binary code of the previous block's digital RGB image and the added information to be mapped can be converted into hexadecimal numbers, which can then be converted into color values. These color values can be used for the corresponding pixels in the next digital RGB image, i.e., for the next block.
[0291] Figure 3 For a subsequent block, an example is shown of generating a random number denoted as "Nonce_2" from block 154, adding additional information to be mapped (denoted as "Information_2"), and an example of the binary code of block 154 (denoted as "image of Block_1"). The resulting binary code is represented as "image of Block_2", which, as described above, is transformed from another RGB image (i.e., block 156).
[0292] The method may also include encrypted generated blocks. Encryption may include a process of modifying one or more of a message, information, or data using at least one encryption means (also called an encryption key) such that only authorized persons can access it and unauthorized persons cannot. Specifically, encryption may include a process of modifying one or more of a message, information, or data such that only a person possessing a specific authorized means (also called an encryption key) can transform the modified message, information, or data into its original or readable form, and thereby obtain the original message, information, or data. Encryption or the encryption process (i.e., the process of modifying a message, information, or data) may specifically involve an encryption algorithm by combining the message, information, or data with at least one encryption key. As an example, in binary format, each bit of the message, information, or data may be combined with a corresponding bit of the encryption key to generate encrypted bits. Other encryption algorithms are generally known and may also be used in the context of this invention.
[0293] An encryption key can be an encryption or decryption method used in either the encryption or decryption process. An encryption key can be an information item that determines the functional output of a cryptographic algorithm, such as the encryption or decryption process. An encryption key can also specify transformations of other encryption algorithms, such as digital signature schemes and message verification codes. The same key can be used for both encryption and decryption. This invention may refer to symmetric encryption processes. However, asymmetric encryption processes are also possible.
[0294] An encryption key can be generated by transforming the blended material properties detected by a scanning device into an encryption key using at least one data processing device configured to apply at least one transformation algorithm to the material properties. The transformation of at least one material property into at least one encryption key can be performed in a computer-implemented manner. The transformation from material property to encryption key can be performed in a single step or in multiple steps. As an example, the transformation from material property to encryption key can be performed by providing at least one electronic signal (such as digital information) representing at least one material property to at least one data processing device for further processing. Therefore, as an example, the detector can communicate directly or indirectly with the data processing device or can even be part of the data processing device. Thus, at least one material property can be provided directly or indirectly to the data processing device for further processing, and at least one transformation algorithm can be applied directly or after preprocessing. The result of the transformation process can be an encryption key, wherein, as an example, the encryption key can be provided electronically. As an example, the encryption key can be or may include electronic information in digital or analog format. As an example, the encryption key can be provided to one or more of a data storage device and interface, a third party, etc.
[0295] It should be summarized that encryption keys can be generated in a single step or in multiple steps. Therefore, encryption keys can also be generated iteratively, for example, by repeating blending and detection steps, and optionally by transforming the steps, wherein, for example, in each step of blending and detection, a portion of the encryption key is generated and / or additional blending information is generated for use in further blending steps. Thus, complex and large encryption keys can be generated iteratively, even if the number of material properties of a single blend may be limited.
[0296] Transforming a material property into an encryption key may specifically include subjecting at least one material property to at least one test, specifically at least one predetermined test. As an example, and as will be further elaborated below, the at least one test may be or may include, for example, comparing at least one material property directly or indirectly with at least one comparison value, at least one range of comparison values, etc., using at least one measurement information item. Other mathematical tests are generally feasible and may also be applied. Based on the result of the at least one test, an encryption key or at least a portion thereof may be generated. Transforming a material property into an encryption key may specifically include comparing at least one material property (including the option of using at least one measurement information item representing the material property) with at least one threshold. Based on the result of the comparison, at least one number may be assigned to the material property. This number may specifically be a binary number. This number may directly form the encryption key or may form part of the encryption key. Thus, as an example, the encryption key may include its multiple values, wherein at least one bit value is assigned based on the result of the comparison of the material property with at least one threshold. As an example, the spectrum or distribution of at least one material property of the blend, such as color distribution, may be measured. Specific bit values may be selected based on, for example, the statistical occurrence of a particular color or the statistical occurrence of another particular characteristic or property of the blend. For example, other bit values can be selected based on other specific characteristics of the blend. This allows the generation of a complete encryption key, or at least a portion thereof.
[0297] Encryption can be performed using at least one data encryption system not shown herein. A data encryption system can be a device, combination of devices, or component or combination of components configured to encrypt data. A data encryption system can be wholly or partially embodied in a computer or computer system, or can be included in a computer or computer system. A data encryption system may include:
[0298] - At least one encryption key generation device according to the present invention (such as according to any of the embodiments disclosed above or further detailed below involving encryption key generation devices); and
[0299] - At least one encryption device is configured to generate encrypted data by encrypting data using an encryption key.
[0300] The method may further include at least one decryption step, wherein the encrypted block is decrypted. Decryption may be the reverse of the encryption process described above. Decryption may include modifying the encrypted data using at least one decryption means (also called an encryption key) such that the encrypted data is transformed into a readable format, i.e., one or more of the original message, information, or data transformed into a readable format. The process of modifying the encrypted data may specifically involve a decryption algorithm, such as combining the encrypted data with at least one encryption key. As an example, in binary format, each bit of the encrypted data may be combined with the corresponding bit of the encryption key to generate a decryption bit. Other decryption algorithms are generally known and may also be used in the context of this invention. Decryption may be performed using at least one decryption device (not shown here), which is configured to decrypt the encrypted data using the encryption key. The decryption device may be configured to perform the step of decrypting the data. As summarized above, the decryption device may specifically include at least one processor configured to perform decryption. The decryption device may be wholly or partially embodied in software running on at least one computer.
[0301] The method may include a printing step, wherein at least one block 150, i.e., a digital RGB image, is printed. Figure 4 An example of a printed blockchain 146 is shown.
[0302] Figure 5 An exemplary embodiment of a cryptocurrency unit 158 is shown. The cryptocurrency can be configured to be used as a medium of exchange, wherein records of individual coin ownership are stored in a blockchain, particularly in a blockchain 146 according to the invention. Blockchain 146 can allow control over the transfer and ownership of the cryptocurrency unit. The cryptocurrency unit 158 can be a unit of any size. Figure 6 As shown, each transaction of a cryptocurrency unit is completed by performing the following steps:
[0303] - Generate a digital RGB image with RGB colors by scanning physical object 114, such as a first digital RGB image 112;
[0304] - Combine the first transaction data 116 and the digital RGB image to generate an intermediate RGB image 160;
[0305] - Combine identity information 162 and intermediate RGB image 160 to generate authentication image 164 with additional RGB colors;
[0306] - Convert the color values of the certified image 164 from the RGB color space 130 to a secondary color space 132 with at least four primary colors, and determine the number of pixels corresponding to each primary color in the secondary color space 132.
[0307] - A one-time verification number of 166 is generated by converting the determined number of pixels corresponding to each primary color in the secondary color space into hexadecimal numbers.
[0308] For information on generating digital RGB images, please refer to [link / reference]. Figure 1A A detailed description of how the first RGB image was generated.
[0309] The combination of the first transaction data 116 and the digital RGB image may include determining the binary code of the digital RGB image. Determining the binary code of the digital RGB image may include converting the color value of each pixel of the digital RGB image into a hexadecimal number. For example, the conversion of color values to hexadecimal numbers may be performed using at least one mathematical algorithm and / or at least one predetermined relation (such as a lookup table), as described in “The Image-Interface: Graphical Supports for Visual Information”, Everardo Reyes-Garcia, John Wiley & Sons, 2017, ISBN 978-1-1194-7497-5. The determined hexadecimal numbers may be further converted into the binary code of the digital RGB image, for example, by using at least one mathematical algorithm and / or at least one predetermined relation (such as a lookup table), as described in “Improving Image Performance by Using Color Lookup Tables”, Adobe developer support, Technical Note #5121, 31 March 1992. The added binary code of the digital RGB image and the first transaction data 116 can be converted into hexadecimal numbers, which can then be converted into color values. For example, the conversion from hexadecimal numbers to color values can be performed using at least one mathematical algorithm and / or at least one predetermined relation (such as a lookup table), as described in "The Image-Interface: Graphical Supports for Visual Information", Everardo Reyes-Garcia, John Wiley & Sons, 2017, ISBN 978-1-1194-7497-5. An intermediate RGB image 160 can be generated by using determined color values for corresponding image pixels. The intermediate RGB image 160 can be a digital image including the transaction data 116, particularly a digital RGB image.
[0310] Identity information 162 can be any information that provides a unique identifier for the owner of the value, such as a picture of the owner. Authentication image 164 can be a digital RGB image that includes identity information 162.
[0311] The combination of identity information 162 and intermediate RGB image 160 may include determining the binary code of intermediate RGB image 160. Determining the binary code of intermediate RGB image 160 may include converting the color value of each pixel of intermediate RGB image 160 into a hexadecimal number. For example, the conversion of color values to hexadecimal numbers may be performed using at least one mathematical algorithm and / or at least one predetermined relation (such as a lookup table), as described in “The Image-Interface: Graphical Supports for Visual Information”, Everardo Reyes-Garcia, John Wiley & Sons, 2017, ISBN 978-1-1194-7497-5. The determined hexadecimal numbers may be further converted into the binary code of intermediate RGB image 160, for example, by using at least one mathematical algorithm and / or at least one predetermined relation (such as a lookup table), as described in “Improving Image Performance by Using Color Lookup Tables”, Adobe Developer Support, Technical Note #5121, 31 March 1992. The added binary code of the intermediate RGB image 160 and identity information 162 can be converted into hexadecimal numbers using at least one mathematical algorithm and / or at least one predetermined relation (such as a lookup table), as described in "Improving Image Performance by Using ColorLookup Tables", Adobe developer support, Technical Note #5121, 31 March 1992. The hexadecimal numbers can be converted into color values. For example, the conversion from hexadecimal numbers to color values can be performed using at least one mathematical algorithm and / or at least one predetermined relation (such as a lookup table), as described in "The Image-Interface: Graphical Supports for Visual Information", Everardo Reyes-Garcia, John Wiley & Sons, 2017, ISBN 978-1-1194-7497-5. An authentication image can be generated using determined color values for corresponding image pixels.
[0312] The authentication image 164 can be digitally converted from RGB color space to a secondary color space 132. Preferably, the secondary color space 132 is a CMYK color space, wherein the primary colors of the secondary color space are black, cyan, magenta, yellow, and white, where white refers to the absence of color on a white substrate. The conversion from RGB color space 130 to secondary color space 132 can be performed for each pixel of the authentication image 164. The conversion from RGB color space 130 to secondary color space 132 can be performed using at least one mathematical algorithm and / or at least one predetermined relation (such as a lookup table), for example, as described in patent US 5,283,671A or in "Schuleder Farben-Grundzüge der Farbentheorie für Computeranwender und andere", Küp-pers, Harald, DuMontBuchverlag, 2. As described in Edition, ISBN 978-3-7701-2841-9, pages 125-134. Conversion from the RGB color space can be performed using at least one piece of software, particularly software for printers that convert RGB colors.
[0313] The converted image can be further converted into pattern 138. This pattern can be a grid. The pattern may include at least one matrix comprising rows and columns indicating the presence or absence of the primary color for each corresponding pixel. Further conversion, particularly rasterization, can be performed by printer software. Next, the colored points can be counted. Determining the number of pixels corresponding to each primary color in the secondary color space can include counting the colored points of the converted and rasterized image (particularly the matrix).
[0314] The number of pixels for each primary color can be converted to a hexadecimal number. Specifically, the number of color dots is converted to a hexadecimal number. The conversion from the determined number to the hexadecimal number to the color value can be performed using at least one mathematical algorithm and / or at least one predetermined relation (such as a lookup table), as described, for example, in “The Image-Interface: Graphical Supports for Visual Information”, Everardo Reyes-Garcia, John Wiley & Sons, 2017, ISBN 978-1-1194-7497-5.
[0315] The generation of a one-time verification count may involve converting a determined number of pixels corresponding to the color of each primary color in the secondary color space into a fixed-size hexadecimal value via a predefined formula. Specifically, the determined number of pixels for each primary color can be converted into a fixed-size value without decimal places. The predefined formula may be a logarithmic formula. The information of the count points can be converted into a fixed-size hexadecimal number via a logarithmic formula, which is necessary for hashing any transaction. The predefined mathematical formula for converting the determined number of pixels corresponding to the color of each primary color in the secondary color space into a fixed-size hexadecimal value may be a + b*x + c*(x / 16) + d*1000*ln(x+1), where "x" is the number of pixels for each primary color, and a, b, c, and d are parameters. For example, to generate a 4-digit hexadecimal number, the value of "a" can be 4096 in all the following cases: when the sum of all pixels for each primary color is less than 60000, "b" is 1, and "c" and "d" are 0; when the sum of all pixels for each primary color is between 60000 and 950000, "c" is 1, and "b" and "d" are 0; when the sum of all pixels for each primary color is greater than 950000, "d" is 1, and "b" and "c" are 0. Therefore, the result calculated using a predefined formula can be rounded down to a complete hexadecimal number. For example, to generate hash values of other fixed sizes besides a 4-digit hexadecimal number, such as 3 or 10 digits, "a", "b", "c", and "d" can be adjusted accordingly.
[0316] The one-time verification number 166 can be a number used to verify the cryptocurrency unit, specifically to prevent counterfeiting. The generation of the cryptocurrency unit 158 may include printing the cryptocurrency unit. The printed cryptocurrency unit 158 may include a printout of an authentication image 164 and a verification number 168. The one-time verification number 166 can be extracted by scanning and decoding the authentication image. The extracted one-time verification number 166 can be compared with the verification number 168 on the printout. If they match, the cryptocurrency unit 158 is verified. Because the image is linked to the one-time verification number 166 stored in the blockchain 146, counterfeiting is impossible.
[0317] Reference Number List
[0318] 110 hash value
[0319] 112 First Digital RGB Image
[0320] 114 Physical Objects
[0321] 116 First Transaction Data
[0322] 118 Second RGB Image
[0323] 120 digital scan
[0324] 122 Mixed
[0325] 124 Blending Equipment
[0326] 126 digital image elements
[0327] 128 conversion
[0328] 130RGB color space
[0329] 132 secondary color space
[0330] 134 Confirmed
[0331] 136 generated
[0332] 138 pattern
[0333] 139 Second Transaction Data
[0334] 140 Third RGB Image
[0335] 142 Other hash values
[0336] 144 generated
[0337] 146 Blockchain
[0338] 148 digital RGB image
[0339] 150 blocks
[0340] 152 Genesis Block
[0341] 154 Subsequent Blocks
[0342] 156 Other blocks
[0343] 158 cryptocurrency units
[0344] 160-bit intermediate RGB image
[0345] 162 Identity Information
[0346] 164 Authentication Images
[0347] 166 One-time verification count
[0348] 168 verification numbers
Claims
1. A computer-implemented method for generating a hash value (110), the method comprising the following steps: i) Provide a first digital RGB image (112) of the physical object (114) having a first RGB color; ii) Combine the first transaction data (116) and the first digital RGB image (112) to generate a second digital RGB image (118) with a second RGB color; iii) Convert (128) the color values of the second digital RGB image (118) from the RGB color space (130) to a secondary color space (132) having at least four primary colors, and determine (134) the number of pixels corresponding to each primary color in the secondary color space (132); iv) The hash value (110) is generated by converting the determined number of pixels corresponding to each primary color of the secondary color space (132) into hexadecimal numbers.
2. The method according to claim 1, wherein, The first digital RGB image is provided including blended and / or mixed (122) pigments and scanned blended and / or mixed pigments.
3. The method according to claim 2, wherein, The pigments are natural organic materials and synthetic organic materials.
4. The method according to claim 2 or 3, wherein, The pigment is selected from inorganic materials.
5. The method according to claim 4, wherein, The pigment is selected from metal oxides.
6. The method according to claim 5, wherein, The pigment is selected from iron oxides.
7. The method according to any one of claims 1 to 2, wherein, The secondary color space (132) is a CMYK color space, wherein the primary colors of the secondary color space (132) are black, cyan, magenta, yellow and white.
8. The method according to any one of claims 1 to 2, wherein, Step i) includes generating a digital image element (126) by resizing the first digital RGB image (112) to a predefined size, wherein the size of the digital image element (126) is larger than the size of the first transaction data (116).
9. The method according to any one of claims 1 to 2, wherein, Step ii) includes determining the binary code of the first digital RGB image (112) and adding the binary code of the first transaction data (116) to the binary code of the first digital RGB image (112) to generate the second digital RGB image (118) having the second RGB color.
10. The method according to any one of claims 1 to 2, wherein, Step ii) includes mapping the first transaction data (116) onto the first digital RGB image (112).
11. The method according to any one of claims 1 to 2, wherein, Generating the hash value (110) involves converting a determined number of pixels corresponding to each primary color of the secondary color space (132) into a fixed-size hexadecimal value via a predefined formula.
12. The method according to any one of claims 1 to 2, wherein, The method includes printing the transaction data (116) on the substrate by printing the second digital RGB image (118) on the substrate and by printing the hexadecimal number of the hash value (110) on the same substrate, wherein the method includes verifying the printed transaction data (116) by verifying the second digital RGB image (118).
13. A computer-implemented method for generating a root hash, wherein, The method includes determining a first hash value using the method for generating hash values according to any one of claims 1 to 12, wherein generating the root hash includes the following steps: a) Combine the second transaction data (139) and the first digital RGB image (112) to generate a third RGB image (140) with a third RGB color; b) Convert the color values of the third RGB image (140) from the RGB color space (130) to the secondary color space (132), and determine the number of pixels corresponding to each primary color in the secondary color space (132); c) Generate (136) an additional hash value (142) by converting the determined number of pixels corresponding to each primary color of the secondary color space (132) into hexadecimal numbers; d) Generate the root hash (144) by aggregating the first hash value and the other hash value (142).
14. The method according to claim 13, wherein, The method includes generating additional hash values for additional transaction data and generating the root hash by aggregating the hash values.
15. A computer-implemented method for generating random numbers, the method comprising the following steps: i) Provide a first digital RGB image (112) of the physical object (114) having a first RGB color; ii) Combine the first transaction data (116) and the first digital RGB image (112) to generate a second digital RGB image (118) with a second RGB color; iii) Convert (128) the color values of the second digital RGB image (118) from the RGB color space (130) to a secondary color space (132) having at least four primary colors, and determine (134) the number of pixels corresponding to each primary color in the secondary color space (132); iv) The random number (136) is generated by converting the determined number of pixels corresponding to each primary color of the secondary color space (132) into binary code.
16. A computer-implemented method for generating a blockchain (146), wherein, The method includes generating multiple subsequent linked blocks (150) of the blockchain (146), wherein the method includes generating a genesis block (152) by generating a first digital RGB image (112) with a first RGB color through scanning a physical object (114), wherein the method includes generating subsequent blocks (154) by generating a second digital RGB image (118) with a second RGB color through determining the binary code of the first digital RGB image (112) and adding the binary code of the first digital RGB image (112) to information to be mapped, wherein the process is repeated for each additional block until the blockchain (146) is closed. The information to be mapped includes a hash value generated by the method according to any one of claims 1 to 12.
17. A blockchain based on digital images (146), wherein, The blockchain (146) includes a plurality of linked blocks (150), wherein the blockchain (146) is generated by using the method according to claim 16.
Citation Information
Patent Citations
Method and apparatus for converting RGB digital data to optimized CMYK digital data
US5283671A
Image processing apparatus and method, and program and recording medium
JP2008078820A
Digital authentication with digital and analog documents
US20040153649A1
Embedding blockchain information in digital images
US20190385269A1